package audit.util;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.avalon.framework.logger.ConsoleLogger;
import org.apache.avalon.framework.logger.Logger;
import org.apache.fop.apps.Driver;
import org.apache.fop.apps.FOPException;
import org.apache.fop.messaging.MessageHandler;
import org.xml.sax.InputSource;
public class ApachePDFProducer
{
public static void convertFO2PDF(File fo,
File pdf)
throws IOException,
FOPException
{
//Construct driver
Driver driver = new Driver();
//Setup logger
Logger logger = new ConsoleLogger(ConsoleLogger.LEVEL_INFO);
driver.setLogger(logger);
MessageHandler.setScreenLogger(logger);
//Setup Renderer (output format)
driver.setRenderer(Driver.RENDER_PDF);
//Setup output
OutputStream out = new java.io.FileOutputStream(pdf);
try
{
driver.setOutputStream(out);
//Setup input
InputStream in = new java.io.FileInputStream(fo);
try
{
driver.setInputSource(new InputSource(in));
//Process FO
driver.run();
}
finally
{
in.close();
}
}
finally
{
out.close();
}
}
/**
*
* @param args
*/
public static void main(String[] args)
{
if (args.length != 1)
{
System.err.println("I need the fo-file as first parameter!");
System.exit(1);
}
try
{
File file = new File(args[0]);
convertFO2PDF(file, new File("audit.pdf"));
}
catch (Exception ex)
{
ex.printStackTrace();
}
System.out.println("Done");
}
} |