fop-2.3

fop の概要

FOP (Formatting Objects Processor) は XSL フォーマットオブジェクト (XSL formatting objects; XSL-FO) に基づいた、印刷フォーマッターを提供します。 a formatting object tree and renders the resulting pages to a specified output. Output formats currently supported include PDF, PCL, PostScript, SVG, XML (area tree representation), print, AWT, MIF and ASCII text. The primary output target is PDF.

本パッケージは LFS-8.3 において正しくビルドでき動作することが確認されています。

パッケージ情報

追加のダウンロード

Required Additional Downloads:

推奨

fop の依存パッケージ

必須

apache-ant-1.10.4

任意

JUnit-4.12 (テスト実行のため), X ウィンドウシステム (to run tests), Apache-Maven-3.5.4 (an alternate build system), JAI Image I/O Tools, and JEuclid

ユーザー情報: http://wiki.linuxfromscratch.org/blfs/wiki/fop

fop のインストール

ビルド前には環境変数 $JAVA_HOME が適切に設定されていることを確認してください。 また JIMI SDKXMLUnit といった拡張クラスをビルドする場合は、環境変数 CLASSPATH にて対応する .jar が設定されていることを確認してください。

OFFO ハイフネーションパターンのインストール

Copy the XML hyphenation patterns into the fop source tree by running the following commands:

unzip ../offo-hyphenation.zip &&
cp offo-hyphenation/hyph/* fop/hyph &&
rm -rf offo-hyphenation

fop コンポーネントのインストール

The javadoc command that ships with OpenJDK 10 has become much more strict than previous versions regarding conformance of the Javadoc comments in source code to HTML. The FOP documentation does not meet those standards, so the conformance checks have to be disabled. This can be done with the following command:

sed -i '\@</javad@i\
<arg value="-Xdoclint:none"/>\
<arg value="--allow-script-in-comments"/>\
<arg value="--ignore-source-errors"/>' \
    fop/build.xml

The stack size set in build.xml for building the hyphenation patterns is not large enough. Change it by running:

sed -e '/hyph\.stack/s/512k/1M/' \
    -i fop/build.xml

The build.xml file calls for an old version of PDFBox components that are no longer available. Copy the updated PDFBox components into the source tree:

cp ../{pdf,font}box-2.0.11.jar fop/lib

以下のコマンドを実行して fop をビルドします。

cd fop                    &&
export LC_ALL=en_US.UTF-8 &&
ant all javadocs          &&
mv build/javadocs .

The junit test suite was run as part of the above commands.

root ユーザーになって Fop をインストールします。

install -v -d -m755 -o root -g root          /opt/fop-2.3 &&
cp -vR build conf examples fop* javadocs lib /opt/fop-2.3 &&
chmod a+x /opt/fop-2.3/fop                                &&
ln -v -sfn fop-2.3 /opt/fop

コマンド説明

sed -i ... build.xml: This adds two switches to the javadoc command, preventing some errors to occur when building the documentation.

export LC_ALL=en_US.UTF-8: the compiler fails if using an ASCII locale.

ant target: This reads the file build.xml and builds the target: compile compiles the java sources, jar-main generates jar archives, jar-hyphenation generates the hyphenation patterns for FOP, junit runs the junit tests, and javadocs builds the documentation. The all target runs all of the above.

ln -v -sf fop-2.3 /opt/fop: This is optional and creates a convenience symlink so that $FOP_HOME doesn't have to be changed each time there's a package version change.

fop の設定

設定ファイル

~/.foprc

設定情報

Using fop to process some large FO's (including the FO derived from the BLFS XML sources), can lead to memory errors. Unless you add a parameter to the java command used in the fop script you may receive messages similar to the one shown below:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

To avoid errors like this, you need to pass an extra parameter to the java command used in the fop script. This can be accomplished by creating a ~/.foprc (which is sourced by the fop script) and adding the parameter to the FOP_OPTS environment variable.

The fop script looks for a FOP_HOME environment variable to locate the fop class libraries. You can create this variable using the ~/.foprc file as well. Create a ~/.foprc file using the following commands:

cat > ~/.foprc << "EOF"
FOP_OPTS="-Xmx<RAM_Installed>m"
FOP_HOME="/opt/fop"
EOF

Replace <RAM_Installed> with a number representing the amount of RAM installed in your computer (in megabytes). An example would be FOP_OPTS="-Xmx768m".

To include the fop script in your path, update the system-wide profile with the following command as the root user:

cat > /etc/profile.d/fop.sh << "EOF"
# Begin /etc/profile.d/fop.sh

pathappend /opt/fop

# End /etc/profile.d/fop.sh
EOF
[注記]

注記

Running fop can be somewhat verbose. The default logging level can be changed from INFO to any of FINEST, FINER, FINE, CONFIG, INFO, WARNING, SEVERE, ALL, or OFF. To do this, edit $JAVA_HOME/jre/lib/logging.properties and change the entries for .level and java.util.logging.ConsoleHandler.level to the desired value.

パッケージ構成

インストールプログラム: fop
インストールライブラリ: fop.jar and numerous support library classes located in /opt/fop/{build,lib}; JAI components include libmlib_jai.so, jai_codec.jar, jai_core.jar, mlibwrapper_jai.jar
インストールディレクトリ: /opt/fop-2.3

概略説明

fop

is a wrapper script to the java command which sets up the fop environment and passes the required parameters.

fop.jar

fop のすべての Java クラスを提供します。

最終更新日: 2018-08-31 05:49:31 +0900