Để bắt đầu làm việc với XDocReport Tôi muốn chuyển đổi ODT thành PDF.XDocReport chuyển đổi ODT sang PDF bằng OSGI
Tất cả ứng dụng của tôi là OSGi. Vì vậy, tôi cài đặt các gói sau:
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
Bên cạnh đó trong đường dẫn lớp tôi có itext-4.2.1.jar
(nó không phải là gói OSGi) và tôi xuất khẩu các gói sau:
<package name="com.lowagie.text"/>
<package name="com.lowagie.text.factories"/>
<package name="com.lowagie.text.pdf"/>
<package name="com.lowagie.text.pdf.draw"/>
Tuy nhiên, tôi không nhận được chuyển đổi bằng cách sử dụng đoạn mã sau:
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.
đang cố gắng để giải quyết vấn đề này tôi đã thêm các bó sau:
org.odftoolkit.odfdom.converter.core-1.0.5.jar
org.odftoolkit.odfdom.converter.pdf-1.0.5.jar
Tuy nhiên, tôi nhận được:
org.osgi.framework.BundleException: hạn chế không được giải quyết trong bó org.odftoolkit.odfdom.converter.core [43]: Không thể giải quyết 43.0: mất tích yêu cầu [43.0] osgi.wiring.package; (osgi.wiring.package = org.odftoolkit.odfdom.dom)
Để giải quyết vấn đề với org.odftoolkit.odfdom.dom
tôi thêm odfdom-java-0.8.7.jar
vào classpath (nó cũng không phải là OSGi) và xuất khẩu các gói sau:
<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"/>
Tuy nhiên nó không giúp đỡ và tôi vẫn nhận được NullPointerException
.
Đây là những câu hỏi của tôi:
- lý do tôi nhận chuyển đổi rỗng và làm thế nào để sửa chữa nó là gì?
- XDocReport sử dụng thư viện gì để viết chuyển đổi hoặc odfdom?
Hãy thảo luận của bạn về các thẻ về câu hỏi này ở một nơi khác. Ở đây - http://meta.stackoverflow.com/questions/298601/must-using-stackoverflow-tags-be-approved-by-the-name-rights-holders - là một nơi tốt. – ChrisF
Gói cần xuất là org.odftoolkit.odfdom.dom và không phải là org.odftoolkit.odfdom.doc, phải không? – Angelo
XDocReport hỗ trợ itext 2.1.7 hoặc itext. Tôi không biết nếu itext-4.2.1.jar có thể được sử dụng. Tôi đề nghị bạn rằng bạn thử mà không có bối cảnh OSGi. – Angelo