build_fop.xml 5.9 KB

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