To start to work with XDocReport I want to convert ODT to PDF.
All my application is OSGi. So I install the following bundles:
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
Besides in class path I have itext-4.2.1.jar
(it is not OSGi bundle) and I
export the following packages:
<package name="com.lowagie.text"/>
<package name="com.lowagie.text.factories"/>
<package name="com.lowagie.text.pdf"/>
<package name="com.lowagie.text.pdf.draw"/>
However, I don't get converter using the following code:
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.
Trying to solve this problem I added the following bundles:
org.odftoolkit.odfdom.converter.core-1.0.5.jar
org.odftoolkit.odfdom.converter.pdf-1.0.5.jar
However, I get:
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)
To solve problem with org.odftoolkit.odfdom.dom
I added odfdom-java-0.8.7.jar
to classpath (it is also not OSGi) and export the following package:
<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"/>
However it didn't help and I still get NullPointerException
.
These are my questions:
- What is the reason I get null converter and how to fix it?
- What library does XDocReport use itext or odfdom for converting?