【发布时间】:2015-12-07 20:27:04
【问题描述】:
我创建了一个 java 应用程序,可以在输出中创建一些文档。这些文档是使用 apache POI api 创建的,由文本 abn 表组成。 我的老板现在决定他们也希望以 pdf 格式存储它们。他们当然有 0 美元的预算。我尝试使用 iText 4.2(根据 lgpl 许可),但我丢失了所有表格(我只有裸文本)
这是我的脚本:
try{
XWPFDocument doc = new XWPFDocument(POIXMLDocument.openPackage(s + ".doc"));
XWPFWordExtractor wx = new XWPFWordExtractor(doc);
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(s + ".pdf"));
document.open();
writer.setPageEmpty(true);
document.newPage();
writer.setPageEmpty(true);
String text = wx.getText();
text=text.replaceAll("\\cM?\r?\n", "");
document.add(new Paragraph(text));
}
catch(Exception e){
System.out.println("Exception during test");
e.printStackTrace();
}
有什么帮助吗?即使改变方向也会很棒。如果我可以简单地编写一个打开文档的宏,输入另存为,然后将其保存为具有相同名称的 pdf,我正在徘徊。最终在 java 应用程序中启动它。
谢谢
【问题讨论】:
-
通过 JODConverter 的 OpenOffice?
-
我从未听说过。我下载了.jar,你有一个例子给我吗?读取 .doc 文件并抛出 .pdf 文件的东西
-
编辑:我试过这个 JODConverter 脚本: DefaultOfficeManagerConfiguration configuration = new DefaultOfficeManagerConfiguration(); configuration.setOfficeHome("C:\\Program Files (x86)\\OpenOffice.org 3"); OfficeManager officeManager = configuration.buildOfficeManager(); officeManager.start(); OfficeDocumentConverter 转换器 = new OfficeDocumentConverter(officeManager); converter.convert(新文件(文件名+“.doc”),新文件(文件名+“.pdf”)); officeManager.stop();但我收到这个异常 NoClassDefFoundError: com/sun/star/lang/DisposedException
标签: pdf apache-poi itext doc