要开始使用XDocReport,我想将ODT转换为PDF.
我的所有应用程序都是OSGi.所以我安装了以下软件包:
fr.opensagres.xdocreport.converter-1.0.5.jar
fr.opensagres.xdocreport.core-1.0.5.jar
fr.opensagres.xdocreport.document-1.0.5.jar
fr.opensagres.xdocreport.itext.extension-1.0.5.jar
fr.opensagres.xdocreport.template-1.0.5.jar
除了类路径我有itext-4.2.1.jar(它不是OSGi捆绑)和我
导出以下软件包:
但是,我没有使用以下代码获取转换器:
Options options = Options.getFrom(DocumentKind.ODT).to(ConverterTypeTo.PDF);
IConverter converter = ConverterRegistry.getRegistry().getConverter(options);
in = new FileInputStream(new File("/Temp/Test1.odt"));
OutputStream out = new FileOutputStream(new File("/Temp/Test1.pdf"));
converter.convert(in, out, options); //HERE I GET NullPointerException - converter is null.
试图解决这个问题我添加了以下软件包:
org.odftoolkit.odfdom.converter.core-1.0.5.jar
org.odftoolkit.odfdom.converter.pdf-1.0.5.jar
但是,我得到:
org.osgi.framework.BundleException: Unresolved constraint in bundle
org.odftoolkit.odfdom.converter.core [43]: Unable to resolve 43.0:
missing requirement [43.0] osgi.wiring.package;
(osgi.wiring.package=org.odftoolkit.odfdom.dom)
要解决org.odftoolkit.odfdom.dom的问题,我将odfdom-java-0.8.7.jar添加到classpath(它也不是OSGi),并导出以下包:
但是它没有帮助,我仍然得到NullPointerException.
这些是我的问题:
>什么原因我得到零转换器和如何解决它?
> XDocReport使用itext或odfdom进行转换的库是什么?