
メニュー > Java > Apache FOP > PDFを生成する
PDFを生成する
(2006/09/06)
XMLをXSLを用いてXSLT変換する
コマンドラインからXMLとXSLを使用して、PDFファイルを作成してみましょう。
D:\fop-0.20.5>fop -xsl examples\embedding\xml\xslt\projectteam2fo.xsl -xml examples\embedding\xml\xml\projectteam.xml -pdf projectteam.pdf
[INFO] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser
[INFO] FOP 0.20.5
[INFO] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser
[INFO] building formatting object tree
[INFO] setting up fonts
[INFO] [1]
[INFO] Parsing of document complete, stopping renderer
projectteam.pdfが作成されていることを確認してください。
プログラムからPDFを生成する
これまではApache FOPをツールとして使用してきましたが、ライブラリとしてJavaのプログラム内から呼び出すことも可能です。
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.fop.apps.Driver;
import org.apache.fop.apps.TraxInputHandler;
import org.xml.sax.InputSource;
…
File xmlFile = new File("projectteam.xml"); // XMLファイル
File xslFile = new File("projectteam2fo.xsl"); // XSLファイル
File pdfFile = new File("projectteam.pdf"); // PDFの出力ファイル
InputStream xmlIn = new BufferedInputStream(new FileInputStream(xmlFile));
InputStream xslIn = new BufferedInputStream(new FileInputStream(xslFile));
OutputStream pdfOut = new BufferedOutputStream(new FileOutputStream(pdfFile));
TraxInputHandler inputHandler = new TraxInputHandler(new InputSource(xmlIn),
new InputSource(xslIn));
Driver driver = new Driver();
driver.setRenderer(Driver.RENDER_PDF); // PDF形式でレンダリング
driver.setOutputStream(pdfOut);
inputHandler.run(driver); // レンダリング開始
xmlIn.close();
xslIn.close();
pdfOut.close();
上記のコードには例外処理が書かれておりませんので、実用には使えません。
Copyright (C)2005-2009 Miura Computer Limited. ALL RIGHTS RESERVED.