内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
要开始使用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
另外,我导出了以下软件包:
<package name="com.lowagie.text"/> <package name="com.lowagie.text.factories"/> <package name="com.lowagie.text.pdf"/> <package name="com.lowagie.text.pdf.draw"/>
但是,我没有使用以下代码获得转换器:
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
然而,我得到:
BundleException:bundle org.odftoolkit.odfdom.Converter.core中未解决的约束四十三无法解决43.0:缺少要求43.0...
解决问题org.odftoolkit.odfdom.dom
我加了odfdom-java-0.8.7.jar
到类路径(也不是OSGi)并导出以下包:
<package name="org.odftoolkit.odfdom.doc"/> <package name="org.odftoolkit.odfdom.dom"/> <package name="org.odftoolkit.odfdom.dom.element.draw"/> <package name="org.odftoolkit.odfdom.dom.element.office"/> <package name="org.odftoolkit.odfdom.dom.element.style"/> <package name="org.odftoolkit.odfdom.dom.element.table"/> <package name="org.odftoolkit.odfdom.dom.style"/> <package name="org.odftoolkit.odfdom.incubator.doc.office"/> <package name="org.odftoolkit.odfdom.incubator.doc.style"/> <package name="org.odftoolkit.odfdom.pkg"/> <package name="org.odftoolkit.odfdom.dom.attribute.fo"/> <package name="org.odftoolkit.odfdom.dom.attribute.style"/> <package name="org.odftoolkit.odfdom.dom.attribute.table"/> <package name="org.odftoolkit.odfdom.dom.element"/> <package name="org.odftoolkit.odfdom.dom.element.svg"/> <package name="org.odftoolkit.odfdom.dom.element.text"/>
但是这没有帮助。
以下是我的问题: