This example program should not be used as the XSLReportProcessor class is no longer supported.
///////////////////////////////////////////////////////////////////////////////
//
// Example: Converting XSL FO source to a PDF.
//
// This program uses the IBM Toolbox for Java ReportWriter classes to convert
// XSL FO source data (created by using HTMLDocument) to a PDF.
//
// This example requires the following.jars to be in the classpath.
//
// composer.jar
// outputwriters.jar
// reportwriter.jar
// x4j400.jar
// xslparser.jar
//
// These JAR files are part of the IBM ToolBox for Java, and reside in directory
// /QIBM/ProdData/HTTP/Public/jt400/lib on your server.
//
// You will also need the class definition for
// org/apache/xerces/dom/NodeContainer, which resides
// in directory /QIBM/ProdData/OS400/xml/lib.
//
// Command syntax:
// ProcessXslFo FOfilename PDFfilename
//
///////////////////////////////////////////////////////////////////////////////
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.awt.print.Paper;
import java.awt.print.PageFormat;
import org.w3c.dom.Document;
import com.ibm.xsl.composer.framework.Context;
import com.ibm.as400.util.reportwriter.pdfwriter.PDFContext;
import com.ibm.as400.util.reportwriter.processor.XSLReportProcessor;
public class ProcessXslFo
{
public static void main(String args[])
{
if (args.length != 2)
{
System.out.println("Usage: java ProcessXslFo <fo file name> <pdf file name>");
System.exit(0);
}
try
{
String inName = args[0];
String outName = args[1];
/* Input. File containing XML FO. */
FileInputStream fin = null;
/* Output. Which in this example will be PDF. */
FileOutputStream fout = null;
try
{
fin = new FileInputStream(inName);
fout = new FileOutputStream(outName);
}
catch (Exception e)
{
e.printStackTrace();
System.exit(0);
}
/*
* Setup Page format.
*/
Paper paper = new Paper();
paper.setSize(612, 792);
paper.setImageableArea(0, 0, 756, 936);
PageFormat pageFormat = new PageFormat();
pageFormat.setPaper(paper);
/*
* Create a PDF context. Set output file name.
*/
PDFContext pdfContext = new PDFContext(fout, pageFormat);
/*
* Create XSLReportProcessor instance.
*/
XSLReportProcessor report = new XSLReportProcessor(pdfContext);
/*
* Open XML FO source.
*/
try
{
report.setXSLFOSource(fin);
}
catch (Exception e)
{
e.printStackTrace();
System.exit(0);
}
/*
* Process the report.
*/
try
{
report.processReport();
}
catch (Exception e)
{
e.printStackTrace();
System.exit(0);
}
}
catch (Exception e)
{
e.printStackTrace();
System.exit(0);
}
/* exit */
System.exit(0);
}
}