在Java中使用XDocReport库,我想使用odt模板创建odt文档,然后将文件转换为pdf文件。 当我运行我的代码时,我收到了错误:
Error in fr.opensagres.xdocreport.document.AbstractXDocReport, line 866: fr.opensagres.xdocreport.core.XDocReportException: Null template engine. Set template engine with IXDocReport#setTemplateEngine
我试过了:
public void convertToPDF(DominoDocument document) {
if (document != null) {
try {
String ooFileName = "C:\\WINDOWS\\Temp\\odtFolder\\PrintFree.odt";
InputStream is = new FileInputStream(ooFileName);
IXDocReport report;
report = XDocReportRegistry.getRegistry().loadReport(is,TemplateEngineKind.Velocity);
IContext context = report.createContext();
context.put("Body", "HelloWorld");
OutputStream out = new FileOutputStream(new File( "C:\\WINDOWS\\Temp\\odtFolder\\PrintFree"+System.nanoTime()+".pdf"));
Options options = Options.getTo(ConverterTypeTo.PDF).via(ConverterTypeVia.ODFDOM);
report.process(context,options,out);
System.out.println("Success");
} catch (XDocReportException e) {
System.out.println("XDocException");
OpenLogItem.logError(e);
}
}
答案 0 :(得分:0)
您似乎希望使用Velocity,因此您需要在类路径中添加 fr.opensagres.xdocreport.template.velocity JAR,它使用Velocity提供ITemplateEngine的实现。你还需要Velocity JAR和她的依赖。