メニュー > 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.