XDocReport:XDocConverterException:无法从=DOCX中找到转换器
我正在测试XDocReport中的示例代码。我结合起来,基于docx模板创建了docx和pdf报告。然而,我不断地得到这个信息XDocReport:XDocConverterException:无法从=DOCX中找到转换器,xdocreport,Xdocreport,我正在测试XDocReport中的示例代码。我结合起来,基于docx模板创建了docx和pdf报告。然而,我不断地得到这个信息 Apr 21, 2016 5:39:10 PM fr.opensagres.xdocreport.converter.ConverterRegistry internalFindConverter SEVERE: Cannot find converters from=DOCX fr.opensagres.xdocreport.converter.XDocConvert
Apr 21, 2016 5:39:10 PM fr.opensagres.xdocreport.converter.ConverterRegistry internalFindConverter
SEVERE: Cannot find converters from=DOCX
fr.opensagres.xdocreport.converter.XDocConverterException: Cannot find converters from=DOCX
at fr.opensagres.xdocreport.converter.ConverterRegistry.internalFindConverter(ConverterRegistry.java:121)
at fr.opensagres.xdocreport.converter.ConverterRegistry.findConverter(ConverterRegistry.java:74)
at fr.opensagres.xdocreport.document.AbstractXDocReport.getConverter(AbstractXDocReport.java:667)
at fr.opensagres.xdocreport.document.AbstractXDocReport.convert(AbstractXDocReport.java:690)
at fr.opensagres.xdocreport.samples.docxandfreemarker.DocxProjectWithFreemarkerList.main(DocxProjectWithFreemarkerList.java:231)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
代码如下:
try
{
InputStream in = DocxProjectWithFreemarker.class.getResourceAsStream( "DocxProjectWithFreemarkerList.docx" );
IXDocReport report = XDocReportRegistry.getRegistry().loadReport( in, TemplateEngineKind.Freemarker );
FieldsMetadata metadata = report.createFieldsMetadata();
metadata.load( "developers", Developer.class, true );
IContext context = report.createContext();
Project project = new Project( "XDocReport" );
context.put( "project", project );
List<Developer> developers = new ArrayList<Developer>();
developers.add( new Developer( "ZERR", "Angelo", "angelo.zerr@gmail.com" ) );
developers.add( new Developer( "Leclercq", "Pascal", "pascal.leclercq@gmail.com" ) );
context.put( "developers", developers );
OutputStream out = new FileOutputStream( new File( "DocxProjectWithFreemarkerList_Out.docx" ) );
report.process( context, out );
// ===========================================================================================
Options options = Options.getTo(ConverterTypeTo.PDF);
OutputStream outt = new FileOutputStream(new File("DocxProjectWithFreemarkerList_Out.pdf"));
report.convert(context, options, outt);
}
catch ( IOException e )
{
e.printStackTrace();
}
catch ( XDocReportException e )
{
e.printStackTrace();
}
试试看
{
InputStream in=DocxProjectWithFreemarker.class.getResourceAsStream(“DocxProjectWithFreemarkerList.docx”);
IXDocReport report=XDocReportRegistry.getRegistry().loadReport(在TemplateEngineKind.Freemarker中);
FieldsMetadata=report.createFieldsMetadata();
加载(“developers”,Developer.class,true);
IContext context=report.createContext();
项目=新项目(“XDocReport”);
上下文。put(“项目”,project);
List developers=new ArrayList();
添加(新开发人员(“ZERR”、“Angelo”、“Angelo”)。zerr@gmail.com" ) );
添加(新开发人员(“Leclercq”、“Pascal”、“Pascal”)。leclercq@gmail.com" ) );
上下文。put(“开发者”,开发者);
OutputStream out=新文件OutputStream(新文件(“DocxProjectWithFreemarkerList_out.docx”);
报告。过程(上下文、输出);
// ===========================================================================================
Options=Options.getTo(ConverterTypeTo.PDF);
OutputStream outt=新文件OutputStream(新文件(“DocxProjectWithFreemarkerList_Out.pdf”);
转换(上下文、选项、输出);
}
捕获(IOE异常)
{
e、 printStackTrace();
}
捕获(XDocReportException e)
{
e、 printStackTrace();
}
代码有什么问题吗?如何修复该错误?您的问题与相同
你需要在你的类路径中有fr.opensagres.xdocreport.converter.docx.xwpfjar和她的依赖项jar(iText等)。我不知道这个产品,但是
无法从=docx
找到转换器似乎表明某些模块可能丢失了?