Vraag XDocReport ODT converteren naar PDF met OSGI


Om met XDocReport te gaan werken, wil ik ODT naar PDF converteren.

Al mijn applicaties zijn OSGi. Dus ik installeer de volgende bundels:

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

Trouwens in het klassenpad dat ik heb itext-4.2.1.jar (het is geen OSGi-bundel) en ik exporteer de volgende pakketten:

  <package name="com.lowagie.text"/>
  <package name="com.lowagie.text.factories"/>
  <package name="com.lowagie.text.pdf"/>
  <package name="com.lowagie.text.pdf.draw"/>

Ik krijg echter geen conversieprogramma met de volgende 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.

Ik heb geprobeerd om dit probleem op te lossen door de volgende bundels toe te voegen:

org.odftoolkit.odfdom.converter.core-1.0.5.jar
org.odftoolkit.odfdom.converter.pdf-1.0.5.jar

Ik krijg echter:

org.osgi.framework.BundleException: onopgeloste beperking in bundel   org.odftoolkit.odfdom.converter.core [43]: Kan 43.0 niet oplossen:   ontbrekende vereiste [43.0] osgi.wiring.package;   (Osgi.wiring.package = org.odftoolkit.odfdom.dom)

Om een ​​probleem op te lossen org.odftoolkit.odfdom.dom ik voegde toe odfdom-java-0.8.7.jar naar classpath (het is ook niet OSGi) en exporteer het volgende pakket:

   <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"/>

Maar het hielp niet en ik krijg nog steeds NullPointerException.

Dit zijn mijn vragen:

  1. Wat is de reden waarom ik een nulomzetter krijg en hoe het te repareren?
  2. Welke bibliotheek gebruikt XDocReport itext of odfdom om te converteren?

17
2017-07-05 11:29


oorsprong


antwoorden:


Wat ik meestal doe, is om de bibliotheek te nemen, dat was geen OSGi-bundel, en verpakte het. Een goede tutorial over hoe je dit in eclips moet doen, is de tutorial van Lars Vogel: Hoe Eclipse-plug-ins in potten te maken.

Exporteer het project vervolgens als een jar-bestand door het te volgen Een jar-bestand maken in Eclipse zelfstudie, en gebruik dit in uw project.

Nu moet u al uw afhankelijkheden hebben opgelost. Extra stappen zijn nodig in het geval dat u ook dynamische klasse laadt.


3
2017-07-08 06:38