build_fop.xml 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <?xml version="1.0"?>
  2. <!--
  3. This file is part of the DITA Open Toolkit project.
  4. Copyright 2011 Jarno Elovirta
  5. See the accompanying LICENSE file for applicable license.
  6. -->
  7. <project name="org.dita.pdf2.fop">
  8. <property name="fop.home" value="${dita.plugin.org.dita.pdf2.fop.dir}"/>
  9. <target name="transform.fo2pdf.fop.test-use">
  10. <condition property="use.fop.pdf.formatter">
  11. <equals arg1="${pdf.formatter}" arg2="fop"/>
  12. </condition>
  13. </target>
  14. <target name="transform.fo2pdf.fop.init" depends="transform.fo2pdf.fop.test-use" if="use.fop.pdf.formatter">
  15. <condition property="use.fop.pdf.formatter">
  16. <equals arg1="${pdf.formatter}" arg2="fop"/>
  17. </condition>
  18. <condition property="args.fo.userconfig" value="${fop.home}/cfg/fop.xconf">
  19. <not>
  20. <isset property="args.fo.userconfig"/>
  21. </not>
  22. </condition>
  23. <condition property="temp.transformation.file" value="${dita.plugin.org.dita.pdf2.fop.dir}/xsl/fo/topic2fo_shell_fop.xsl">
  24. <and>
  25. <not><isset property="args.xsl.pdf"/></not>
  26. <isset property="use.fop.pdf.formatter"/>
  27. </and>
  28. </condition>
  29. <property name="fop.failOnError" value="true"/>
  30. <!-- default output format -->
  31. <condition property="fop.formatter.output-format" value="application/pdf">
  32. <not><isset property="fop.formatter.output-format"/></not>
  33. </condition>
  34. <!-- output file extension -->
  35. <condition property="xsl.formatter.ext" value=".mif">
  36. <and>
  37. <equals arg1="${fop.formatter.output-format}" arg2="application/mif"/>
  38. <not><isset property="xsl.formatter.ext"/></not>
  39. </and>
  40. </condition>
  41. <condition property="xsl.formatter.ext" value=".pcl">
  42. <and>
  43. <equals arg1="${fop.formatter.output-format}" arg2="application/x-pcl"/>
  44. <not><isset property="xsl.formatter.ext"/></not>
  45. </and>
  46. </condition>
  47. <condition property="xsl.formatter.ext" value=".pcl">
  48. <and>
  49. <equals arg1="${fop.formatter.output-format}" arg2="application/vnd.hp-PCL"/>
  50. <not><isset property="xsl.formatter.ext"/></not>
  51. </and>
  52. </condition>
  53. <condition property="xsl.formatter.ext" value=".png">
  54. <and>
  55. <equals arg1="${fop.formatter.output-format}" arg2="image/png"/>
  56. <not><isset property="xsl.formatter.ext"/></not>
  57. </and>
  58. </condition>
  59. <condition property="xsl.formatter.ext" value=".ps">
  60. <and>
  61. <equals arg1="${fop.formatter.output-format}" arg2="application/postscript"/>
  62. <not><isset property="xsl.formatter.ext"/></not>
  63. </and>
  64. </condition>
  65. <condition property="xsl.formatter.ext" value=".mda">
  66. <and>
  67. <equals arg1="${fop.formatter.output-format}" arg2="application/x-afp"/>
  68. <not><isset property="xsl.formatter.ext"/></not>
  69. </and>
  70. </condition>
  71. <condition property="xsl.formatter.ext" value=".mda">
  72. <and>
  73. <equals arg1="${fop.formatter.output-format}" arg2="application/vnd.ibm.modcap"/>
  74. <not><isset property="xsl.formatter.ext"/></not>
  75. </and>
  76. </condition>
  77. <condition property="xsl.formatter.ext" value=".svg">
  78. <and>
  79. <equals arg1="${fop.formatter.output-format}" arg2="image/svg+xml"/>
  80. <not><isset property="xsl.formatter.ext"/></not>
  81. </and>
  82. </condition>
  83. <condition property="xsl.formatter.ext" value=".rtf">
  84. <and>
  85. <equals arg1="${fop.formatter.output-format}" arg2="text/richtext"/>
  86. <not><isset property="xsl.formatter.ext"/></not>
  87. </and>
  88. </condition>
  89. <condition property="xsl.formatter.ext" value=".rtf">
  90. <and>
  91. <equals arg1="${fop.formatter.output-format}" arg2="text/rtf"/>
  92. <not><isset property="xsl.formatter.ext"/></not>
  93. </and>
  94. </condition>
  95. <condition property="xsl.formatter.ext" value=".rtf">
  96. <and>
  97. <equals arg1="${fop.formatter.output-format}" arg2="application/rtf"/>
  98. <not><isset property="xsl.formatter.ext"/></not>
  99. </and>
  100. </condition>
  101. <condition property="xsl.formatter.ext" value=".tif">
  102. <and>
  103. <equals arg1="${fop.formatter.output-format}" arg2="image/tiff "/>
  104. <not><isset property="xsl.formatter.ext"/></not>
  105. </and>
  106. </condition>
  107. <condition property="xsl.formatter.ext" value=".gif">
  108. <and>
  109. <equals arg1="${fop.formatter.output-format}" arg2="image/gif"/>
  110. <not><isset property="xsl.formatter.ext"/></not>
  111. </and>
  112. </condition>
  113. <condition property="xsl.formatter.ext" value=".txt">
  114. <and>
  115. <equals arg1="${fop.formatter.output-format}" arg2="text/plain"/>
  116. <not><isset property="xsl.formatter.ext"/></not>
  117. </and>
  118. </condition>
  119. <condition property="xsl.formatter.ext" value=".AT.xml">
  120. <and>
  121. <equals arg1="${fop.formatter.output-format}" arg2="application/X-fop-areatree"/>
  122. <not><isset property="xsl.formatter.ext"/></not>
  123. </and>
  124. </condition>
  125. <condition property="xsl.formatter.ext" value=".pdf">
  126. <and>
  127. <equals arg1="${fop.formatter.output-format}" arg2="application/pdf"/>
  128. <not><isset property="xsl.formatter.ext"/></not>
  129. </and>
  130. </condition>
  131. </target>
  132. <!--Run FOP-->
  133. <target name="transform.fo2pdf.fop" if="use.fop.pdf.formatter">
  134. <taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop"/>
  135. <condition property="outputFile" value="${dita.output.dir}/${outputFile.base}${xsl.formatter.ext}">
  136. <not><isset property="outputFile"/></not>
  137. </condition>
  138. <mkdir dir="${dita.output.dir}"/>
  139. <fop format="${fop.formatter.output-format}" fofile="${pdf2.temp.dir}/topic.fo" basedir="${pdf2.temp.dir}"
  140. outfile="${outputFile}" messagelevel="info" relativebase="true" force="true"
  141. userconfig="${args.fo.userconfig}"/>
  142. <dita-ot-fail id="PDFX013F">
  143. <condition>
  144. <and>
  145. <equals arg1="${fop.failOnError}" arg2="true"/>
  146. <not>
  147. <available file="${outputFile}" type="file"/>
  148. </not>
  149. </and>
  150. </condition>
  151. <param name="1" value="${outputFile}"/>
  152. </dita-ot-fail>
  153. </target>
  154. </project>