インストールは、 Cygwin の bash から行います。
以下の説明では、インストール先を /usr/local/java/ として作業を進めます。
$ cd /usr/local/ $ mkdir java $ cd java $ tar zxvf /path/to/fop-0.20.5-bin.tar.gz fop-0.20.5/fop.sh fop-0.20.5/examples/servlet/build.sh fop-0.20.5/examples/embedding/build.sh fop-0.20.5/xalan.sh fop-0.20.5/ ... $ pwd /usr/local/java $ ls -l total 0 drwxr-xr-x+ 7 merita なし 0 Jan 16 11:07 fop-0.20.5 $ cd fop-0.20.5 $ ls -l ... -rw-r--r-- 1 merita なし 812 Jul 15 2003 fop.bat -rwxr-xr-x 1 merita なし 2446 Jul 15 2003 fop.sh drwxr-xr-x+ 2 merita なし 0 Jan 16 11:07 lib -rw-r--r-- 1 merita なし 330 Jul 15 2003 xalan.bat -rwxr-xr-x 1 merita なし 2452 Jul 15 2003 xalan.sh
fop.sh が FOP を起動するためのシェル・スクリプトですが、 ちょっとしたミスがあり Cygwin では動作しません。修正したものを作成しましたので、こちらを使用してください。
fop_sh.txt
:
#! /bin/sh # # Shell script to run FOP, adapted from the Jakarta-Ant project. FOP_HOME=/usr/local/java/fop-0.20.5 FOP_USERCONF="$FOP_HOME/conf/userconfig.xml" if [ -f $HOME/.foprc ] ; then . $HOME/.foprc fi if [ -e $FOP_USERCONF ] ; then if $cygwin ; then FOP_USERCONF=`cygpath --windows "$FOP_USERCONF"` fi FOP_OPTS="$FOP_OPTS -c $FOP_USERCONF" fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; case "`uname`" in CYGWIN*) cygwin=true ;; Darwin*) darwin=true ;; esac if [ -z "$FOP_HOME" ] ; then # try to find FOP if [ -d /opt/fop ] ; then FOP_HOME=/opt/fop fi if [ -d ${HOME}/opt/fop ] ; then FOP_HOME=${HOME}/opt/fop fi ## resolve links - $0 may be a link to fop's home PRG=$0 progname=`basename $0` while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '.*/.*' > /dev/null; then PRG="$link" else PRG="`dirname $PRG`/$link" fi done FOP_HOME=`dirname "$PRG"` fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$FOP_HOME" ] && FOP_HOME=`cygpath --unix "$FOP_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD=$JAVA_HOME/jre/sh/java else JAVACMD=$JAVA_HOME/bin/java fi else JAVACMD=java fi fi if [ -n "$CLASSPATH" ] ; then LOCALCLASSPATH=$CLASSPATH fi # add fop.jar, which resides in $FOP_HOME/build LOCALCLASSPATH=${FOP_HOME}/build/fop.jar:$LOCALCLASSPATH # add in the dependency .jar files, which reside in $FOP_HOME/lib DIRLIBS=${FOP_HOME}/lib/*.jar for i in ${DIRLIBS} do # if the directory is empty, then it will return the input string # this is stupid, so case for it if [ "$i" != "${DIRLIBS}" ] ; then if [ -z "$LOCALCLASSPATH" ] ; then LOCALCLASSPATH=$i else LOCALCLASSPATH="$i":$LOCALCLASSPATH fi fi done # For Cygwin, switch paths to Windows format before running java if $cygwin; then FOP_HOME=`cygpath --path --windows "$FOP_HOME"` JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` LOCALCLASSPATH=`cygpath --path --windows "$LOCALCLASSPATH"` fi $JAVACMD -Xmx256M $JAVAOPTS -classpath "$LOCALCLASSPATH" org.apache.fop.apps.Fop $FOP_OPTS "$@"
このファイルを PATH の通った場所へ fop として保存し、実行パーミッションを追加してください。たとえば /usr/local/bin/fop などとして保存し、
$ chmod a+x /usr/local/bin/fop
とします。
#7. DocBook による移植可能文書の作成と運用:
2004-08-29 サイトの種類によっては、ウェブの内容と同じものを PDF としても公開したい といういう場合があります。もちろん HTML と PDF を、別々に作成してしまうと言う手もありますが、ここでは DocBook という XML 形式のフォーマッ...
A. 概論と基礎知識:
DocBook + xsltproc + Apaceh FOP の組み合わせで、以下のように DocBook(.xml)形式のファイルから HTML,XHTML,PDF などのファイルを作成することができます。DocBook(.xml)+ ...
B. 使用環境:
今回、評価を行った環境は以下のとおりです。Windows XPCygwin 1.5xsltproc(Cygwin 1.5 に含まれるもの)Java 1.4Apache FOP 0.20 xsltproc は、非常にポピュラーな XSLT プ...
more DocBook: 7 ...
#7. DocBook による移植可能文書の作成と運用:
2004-08-29 サイトの種類によっては、ウェブの内容と同じものを PDF としても公開したい といういう場合があります。もちろん HTML と PDF を、別々に作成してしまうと言う手もありますが、ここでは DocBook という XML 形式のフォーマッ...
B. 使用環境:
Apache FOP は Java で動作するため、他のプラットフォームでも動作可能だと思われます。ただし、PDF を作成する場合、フォント(特に日本語)が必要となります。これは、プラットフォームに依存するため、違いが出てくると思われます。
4. 日本フォントを使えるようにする:
Apache FOP 0.20 では、デフォルトのままでは日本語フォントが含まれていないため、日本語を含む XLS-FO から PDF を作成した場合、(いわゆる)文字化けが発生してしまいます。そのため、設定を変更して日本語フォントを扱える...
more PDF: 6 ...
#1703. 春を感じるご馳走 - 春竹の子と干し椎茸の醤油煮込み + 桜海老と春野菜の土鍋ご飯 山椒風味 @一楽.横浜中華街:
2018-03-26 横浜中華街・中華街大通りの一楽にて晩飯。一品目は、春メニューから春竹の子と干し椎茸の醤油煮込み。これは・・・素食(スゥシー,精進料理)の紅焼烩双冬かな? 紅焼(ホンシャオ)ともちょっと違うような、甘い香りのする焼付け具合が肉厚の干し椎茸とよ...
#1702. 福建料理 (閩菜) の定番麺料理 - 燜麺 (海鮮煮込みそば) @華錦飯店.横浜中華街:
2018-03-25 横浜中華街・市場通りの華錦飯店(かきんはんてん)にて晩飯。こちらは隣の魚屋が経営母体の中華料理店。このため海鮮料理に強いと言われている。また、経営者の出身地が福建とのことで、一般的な中華料理を中心に、福建料理(閩菜)を少し加えたメニュー構成...
#1701. 横浜中華街で中国茶 - 龍井茶 @隆記.横浜中華街:
2018-03-25 オフィスでは、だいたい中国茶を飲んでいる。自分用の中国茶マグ・カップで、茶葉の種類を変えつつ何杯も飲んでいるが、これがコーヒーよりも精神バランスに良い感じで、リラックスして、かつ、集中できる感じ。正念場・修羅場・短時間でいいから集中がほしい...
#1700. アットホームな広東料理店 - 春巻 + 咸蛋蒸肉餅 (塩タマゴと豚肉の蒸し) @龍鳳酒家.横浜中華街:
2018-03-24 横浜中華街・中山路の龍鳳酒家(りゅうほうしゅか)にて晩飯。こちらは家庭的なお店で、広東料理(粤菜)の家庭料理(家郷菜)が得意。一品目はビールの酒肴として春巻をオーダー。中身がしっかりと詰まった春巻は、カリッとかじると熱々の中身が口の中に弾け...
#1699. 横浜・元町で米国式スタンダードな朝食を - ブレックファスト・プレート + 玉子1個追加 @バイ・ミー・スタンド.代官坂.元町.横浜:
2018-03-24 横浜・元町・代官坂のバイ・ミー・スタンド(BUY ME STAND)元町店 にて朝食。ここはユニークかつ美味しいサンドイッチを出す店。朝8時から開店していて、ゴージャスな朝食が食べられるので、朝から開店している飲食店が少ない元町近辺では貴重...