source: pst/ps/fop.xml@ cbfc7b61

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since cbfc7b61 was cbfc7b61, checked in by Bruce Dubbs <bdubbs@…>, 11 years ago

Update to fop-1.1.
Tag a2ps

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@10813 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 12.8 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY fop-download-http "http://archive.apache.org/dist/xmlgraphics/fop/source/fop-&fop-version;-src.tar.gz">
8 <!ENTITY fop-download-ftp " ">
9 <!ENTITY fop-md5sum "7b63af514b28c06fe710a794cbf4d68e">
10 <!ENTITY fop-size "23 MB">
11 <!ENTITY fop-buildsize "206 MB">
12 <!ENTITY fop-time "0.5 SBU">
13
14 <!ENTITY jai-version "1_1_3">
15 <!ENTITY jai-download "http://download.java.net/media/jai/builds/release/&jai-version;/jai-&jai-version;-lib-linux-i586.tar.gz">
16 <!ENTITY jai-md5sum "a2cbc155ef3899bcde9c74a8035764b3">
17 <!ENTITY jai-size "3.4 MB">
18
19 <!ENTITY jai64-download "http://download.java.net/media/jai/builds/release/&jai-version;/jai-&jai-version;-lib-linux-amd64.tar.gz">
20 <!ENTITY jai64-md5sum "4a906db35612f668aeef2c0606d7075b">
21 <!ENTITY jai64-size "3.4 MB">
22<!--
23 <!ENTITY offo-download "&sourceforge-repo;/offo/offo-hyphenation_v2.0.zip">
24 <!ENTITY offo-md5sum "a78171d47c9af223c51bbd42df36f26d">
25 <!ENTITY offo-size "858 KB">
26-->
27]>
28
29<sect1 id="fop" xreflabel="fop-&fop-version;">
30 <?dbhtml filename="fop.html"?>
31
32 <sect1info>
33 <othername>$LastChangedBy$</othername>
34 <date>$Date$</date>
35 </sect1info>
36
37 <title>fop-&fop-version;</title>
38
39 <indexterm zone="fop">
40 <primary sortas="a-fop">fop</primary>
41 </indexterm>
42
43 <sect2 role="package">
44 <title>Introduction to fop</title>
45
46 <para>The <application>FOP</application> (Formatting Objects Processor)
47 package contains a print formatter driven by XSL formatting objects
48 (XSL-FO). It is a <application>Java</application> application that reads
49 a formatting object tree and renders the resulting pages to a specified
50 output. Output formats currently supported include PDF, PCL, PostScript,
51 SVG, XML (area tree representation), print, AWT, MIF and ASCII text. The
52 primary output target is PDF.</para>
53
54 &lfs72_checked;
55
56 <bridgehead renderas="sect3">Package Information</bridgehead>
57 <itemizedlist spacing="compact">
58 <listitem>
59 <para>Download (HTTP): <ulink url="&fop-download-http;"/></para>
60 </listitem>
61 <listitem>
62 <para>Download (FTP): <ulink url="&fop-download-ftp;"/></para>
63 </listitem>
64 <listitem>
65 <para>Download MD5 sum: &fop-md5sum;</para>
66 </listitem>
67 <listitem>
68 <para>Download size: &fop-size;</para>
69 </listitem>
70 <listitem>
71 <para>Estimated disk space required: &fop-buildsize;</para>
72 </listitem>
73 <listitem>
74 <para>Estimated build time: &fop-time;</para>
75 </listitem>
76 </itemizedlist>
77
78 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
79 <itemizedlist spacing="compact">
80 <title>Required packages</title>
81
82<!--
83 <listitem>
84 <para>Objects for Formatting Objects (OFFO) hyphenation patterns:
85 <simplelist>
86 <member><ulink url="&offo-download;"/></member>
87 <member>&offo-md5sum;</member>
88 <member>&offo-size;</member>
89 </simplelist>
90 </para>
91 </listitem>
92-->
93 <listitem>
94 <para>Java Advanced Imaging (JAI) API components (architecture dependent):
95 <simplelist>
96 <member><ulink url="&jai-download;"/></member>
97 <member>&jai-md5sum;</member>
98 <member>&jai-size;</member>
99 </simplelist>
100 <simplelist>
101 <member><ulink url="&jai64-download;"/></member>
102 <member>&jai64-md5sum;</member>
103 <member>&jai64-size;</member>
104 </simplelist>
105 </para>
106 </listitem>
107 </itemizedlist>
108
109 <bridgehead renderas="sect3">fop Dependencies</bridgehead>
110
111 <bridgehead renderas="sect4">Required</bridgehead>
112 <para role="required">
113 <xref linkend="xorg7"/> and
114 <xref linkend="apache-ant"/>
115 </para>
116
117 <bridgehead renderas="sect4">Optional</bridgehead>
118 <para role="optional">
119 <xref linkend="junit"/> (to run tests),
120 <ulink url="http://java.sun.com/products/jimi/">JIMI SDK</ulink>,
121 <ulink url="http://xmlunit.sourceforge.net/">XMLUnit</ulink>,
122 <ulink url="https://jai-imageio.dev.java.net/">JAI Image I/O Tools</ulink>,
123 <ulink url="http://jeuclid.sourceforge.net/">JEuclid</ulink>,
124 <ulink url="http://pmd.sourceforge.net">PMD</ulink>
125 (requires <ulink url="http://jaxen.codehaus.org/">Jaxen</ulink>), and
126 <ulink url="http://forrest.apache.org/">Forrest</ulink> (Forrest used only
127 to build the documentation)
128 </para>
129
130 <para condition="html" role="usernotes">User Notes:
131 <ulink url="&blfs-wiki;/fop"/></para>
132
133 </sect2>
134
135 <sect2 role="installation">
136 <title>Installation of fop</title>
137
138 <important>
139 <para>You must run this installation from an X-window using a GL-aware
140 <application>Xorg</application> server or some of the
141 <application>JUnit</application> tests will hang.</para>
142 </important>
143
144 <para>Ensure <envar>$JAVA_HOME</envar> is set correctly before beginning
145 the build. To build the <application>JIMI SDK</application> and/or
146 <application>XMLUnit</application> extension classes, ensure the
147 corresponding <filename class='extension'>.jar</filename> files can be
148 found via the <envar>CLASSPATH</envar> environment variable.</para>
149<!--
150 <sect3>
151 <title>Installing OFFO Hyphenation Patterns</title>
152
153 <para>First, unpack the <application>fop</application> source tarball and
154 the hyphenation zipfile from the same directory, then change directories
155 into the root of the <application>fop</application> source tree. Copy the
156 XML hyphenation patterns into the <application>fop</application> source
157 tree by running the following commands:</para>
158
159<screen><userinput>cp ../offo-hyphenation/hyph/* hyph &amp;&amp;
160rm -rf ../offo-hyphenation</userinput></screen>
161
162 </sect3>
163-->
164 <sect3>
165 <title>Installing Java Advanced Imaging (JAI) API components</title>
166
167 <para>Next install the JAI API components. As the <systemitem
168 class="username">root</systemitem> user:</para>
169
170<screen><userinput>case `uname -m` in
171 i?86)
172 tar -xf ../jai-&jai-version;-lib-linux-i586.tar.gz
173 cp -v jai-&jai-version;/lib/{jai*,mlibwrapper_jai.jar} $JAVA_HOME/jre/lib/ext/
174 cp -v jai-&jai-version;/lib/libmlib_jai.so $JAVA_HOME/jre/lib/i386/
175 ;;
176
177 x86_64)
178 tar -xf ../jai-&jai-version;-lib-linux-amd64.tar.gz
179 cp -v jai-&jai-version;/lib/{jai*,mlibwrapper_jai.jar} $JAVA_HOME/jre/lib/ext/
180 cp -v jai-&jai-version;/lib/libmlib_jai.so $JAVA_HOME/jre/lib/amd64/
181 ;;
182esac</userinput></screen>
183 </sect3>
184
185 <sect3>
186 <title>Installing fop Components</title>
187
188 <para>Compile <application>fop</application> by running the
189 following commands:</para>
190
191<screen><userinput>ant compile &amp;&amp;
192ant jar-main &amp;&amp;
193ant javadocs &amp;&amp;
194mv build/javadocs .</userinput></screen>
195
196 <para>If <application>Forrest</application> is installed,
197 build the full set of documentation:</para>
198
199<screen><userinput>ant docs</userinput></screen>
200
201 <para>To test the application run <command>ant junit-all</command>.
202 The hyphenation tests will fail. To see a list of other
203 test targets, use <command>ant -p</command>.</para>
204
205 <para>Now, as the <systemitem class="username">root</systemitem>
206 user:</para>
207
208<screen role="root"><userinput>install -v -d -m755 /opt/fop-&fop-version; &amp;&amp;
209cp -v KEYS LICENSE NOTICE README /opt/fop-&fop-version; &amp;&amp;
210cp -va build conf examples fop* javadocs lib status.xml /opt/fop-&fop-version; &amp;&amp;
211
212ln -v -sf fop-&fop-version; /opt/fop</userinput></screen>
213
214 </sect3>
215
216 </sect2>
217
218 <sect2 role="commands">
219 <title>Command Explanations</title>
220
221 <para><command>ant <option>target</option></command>: This reads the file
222 <filename>build.xml</filename> and builds the target files.</para>
223
224 <para><command>ln -v -sf fop-&fop-version; /opt/fop</command>: This is
225 optional and creates a convenience symlink so that <envar>$FOP_HOME</envar>
226 doesn't have to be changed each time there's a package version change.</para>
227
228 </sect2>
229
230 <sect2 role="configuration">
231 <title>Configuring fop</title>
232
233 <sect3 id="fop-config">
234 <title>Config Files</title>
235
236 <para><filename>~/.foprc</filename></para>
237
238 <indexterm zone="fop fop-config">
239 <primary sortas="e-AA.foprc">~/.foprc</primary>
240 </indexterm>
241
242 </sect3>
243
244 <sect3>
245 <title>Configuration Information</title>
246
247 <para>Using <application>fop</application> to process some large FO's
248 (including the FO derived from the BLFS XML sources), can lead to memory
249 errors. Unless you add a parameter to the <command>java</command> command
250 used in the <command>fop</command> script you may receive messages
251 similar to the one shown below:</para>
252
253 <para><computeroutput>Exception in thread "main" java.lang.OutOfMemoryError:
254 Java heap space</computeroutput></para>
255
256 <para>To avoid errors like this, you need to pass an extra parameter to
257 the <command>java</command> command used in the <command>fop</command>
258 script. This can be accomplished by creating a
259 <filename>~/.foprc</filename> (which is sourced by the
260 <command>fop</command> script) and adding the parameter to the
261 <envar>FOP_OPTS</envar> environment variable.</para>
262
263 <para>The <command>fop</command> script looks for a
264 <envar>FOP_HOME</envar> environment variable to locate the
265 <application>fop</application> class libraries. You can create this
266 variable using the <filename>~/.foprc</filename> file as well. Create
267 a <filename>~/.foprc</filename> file using the following commands:</para>
268
269<screen><userinput>cat &gt; ~/.foprc &lt;&lt; "EOF"
270<literal>FOP_OPTS="-Xmx<replaceable>&lt;RAM_Installed&gt;</replaceable>m"
271FOP_HOME="/opt/fop"</literal>
272EOF</userinput></screen>
273
274 <para>Replace <replaceable>&lt;RAM_Installed&gt;</replaceable> with a
275 number representing the amount of RAM installed in your computer (in
276 megabytes). An example would be
277 <userinput>FOP_OPTS="-Xmx768m"</userinput>. For more information about
278 memory issues running <application>fop</application>, see
279 <ulink url="http://xml.apache.org/fop/running.html#memory"/>.</para>
280
281 <para>To include the <command>fop</command> script in your path,
282 update your personal or system-wide profile with the following:</para>
283
284<screen><literal>PATH=$PATH:/opt/fop</literal></screen>
285
286 <note><para>Running <command>fop</command> can be somewhat verbose.
287 The default logging level can be changed from INFO to any of
288 FINEST, FINER, FINE, CONFIG, INFO, WARNING, SEVERE, ALL, or OFF.
289 To do this, edit
290 <filename>$JAVA_HOME/jre/lib/logging.properties</filename> and change
291 the entries for <option>.leval</option> and
292 <option>java.util.logging.ConsoleHandler.level</option> to
293 the desired value.</para></note>
294
295 </sect3>
296
297 </sect2>
298
299 <sect2 role="content">
300 <title>Contents</title>
301
302 <segmentedlist>
303 <segtitle>Installed Programs</segtitle>
304 <segtitle>Installed Libraries</segtitle>
305 <segtitle>Installed Directory</segtitle>
306
307 <seglistitem>
308 <seg>fop</seg>
309 <seg>fop.jar and numerous support library classes located in
310 <filename class='directory'>/opt/fop/{build,lib}</filename>; JAI
311 components include libmlib_jai.so, jai_codec.jar, jai_core.jar, and
312 mlibwrapper_jai.jar</seg>
313 <seg>/opt/fop-&fop-version;</seg>
314 </seglistitem>
315 </segmentedlist>
316
317 <variablelist>
318 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
319 <?dbfo list-presentation="list"?>
320 <?dbhtml list-presentation="table"?>
321
322 <varlistentry id="fop-prog">
323 <term><command>fop</command></term>
324 <listitem>
325 <para>is a wrapper script to the <command>java</command> command
326 which sets up the <application>fop</application>
327 environment and passes the required parameters.</para>
328 <indexterm zone="fop fop-prog">
329 <primary sortas="b-fop">fop</primary>
330 </indexterm>
331 </listitem>
332 </varlistentry>
333
334 <varlistentry id="fop.jar">
335 <term><filename class='libraryfile'>fop.jar</filename></term>
336 <listitem>
337 <para>contains all the <application>fop</application>
338 <application>Java</application> classes.</para>
339 <indexterm zone="fop fop.jar">
340 <primary sortas="c-fop.jar">fop.jar</primary>
341 </indexterm>
342 </listitem>
343 </varlistentry>
344
345 </variablelist>
346
347 </sect2>
348
349</sect1>
Note: See TracBrowser for help on using the repository browser.