#!/usr/bin/perl -w use strict; use CGI::Carp qw(fatalsToBrowser); BEGIN { $ENV{CLASSPATH}='.:/usr/share/java/*:/the paths to the jars used/; } use Inline Java => <<'END',,CLASSPATH=> $ENV{CLASSPATH}; ; import java.datasource.dom4j.Dom4jDataSource; import java.xmlreport.ProcessPdf; import java.xmlreport.ProcessReport; import java.io.InputStream; import java.io.OutputStream; import org.dom4j.Element; public class GeneratePdfReport { InputStream template = new FileInputStream("/path/template.docx"); OuputStream report = new FileOutputStream("/path/report.pdf"); InputStream xmlData = new FileInputStream("/path/datasource.xml"); public static void generatePdfReport(InputStream template, OutputStream report, InputStream xmlData) throws Exception { ProcessReport.init(); // create the report. ProcessPdf proc = new ProcessPdf(template, report); proc.processSetup(); proc.processData(new Dom4jDataSource(xmlData), ""); proc.processComplete(); } } END