如何使用java api将doc转换为pdf。其中文档包含各种格式,例如ms字中的表格。当使用iText转换为PDF格式时。实际文档看起来不同于转换后的pdf。请提供任何api,而不是安装用于转换的exe。必须是一个开放源码的如何将MS doc转换为pdf
回答
这是一个相当艰巨的任务,如果有的话更难你需要完美的结果(不使用Word就不可能),因为在纯Java中完成所有这些工作的API数量是开放源代码,我相信(更新:我错了,请参阅下面的)。
你的基本选项如下:
- 使用JNI/C#的Web服务的/ etc脚本的MS Office(仅适用于100%完美的结果选项)
- 使用可用的API脚本开放式办公(90 +%完美)
- 使用Apache POI & iText(非常大的工作,永远不会完美)。
更新 - 2016年2月11日 这里是我的博客文章就这个问题其中概述了支持Word到PDF在Java中现有产品降低副本。据我所知,可以使Office文档
Converting Microsoft Office (Word, Excel) documents to PDFs in Java
三种产品:
yeokm1/docs-to-pdf-converter 不定期维护,纯Java,开源 联系在一起了一些库来执行转换。
xdocreport 积极发展,纯Java,开源 它的Java API与Java模型合并与MS Office(DOCX)或OpenOffice(ODT),LibreOffice的(ODT)创建的XML文件来生成报告和转换它如果你需要另一种格式(PDF,XHTML ...)。
Snowbound Imaging SDK 闭源,纯Java 大雪似乎是一个100%的Java解决方案和成本超过$ 2500元。它包含描述如何在评估下载中转换文档的示例。
OpenOffice API 开源,不是纯Java的 - 需要的Open Office安装 OpenOffice是一个天然的Office套件支持的Java API。这支持阅读Office文档和编写PDF文档。 SDK包含文档转换中的示例(examples/java/DocumentHandling/DocumentConverter.java)。要编写PDF,您需要传递“writer_pdf_Export”作者而不是“MS Word 97”。 或者您可以使用包装API JODConverter。
JDocToPdf - 死者为2016年2月11日 使用Apache POI读取Word文档和iText的写的PDF。完全免费,100%的Java,但有一些limitations。
我还没有使用它的MS Word中尝试过,但我有很好的成功读取使用Apache POI MS Excel文档 - http://poi.apache.org/
查看脚本OpenOffice.org为您完成这项工作。
我同意海报列表OpenOffice是一个高保真度word/pdf文档的导入/导出工具,它具有Java API,它也可以跨平台使用。 OpenOffice导入/导出过滤器非常强大,在转换为各种格式(包括PDF)期间保留了大部分格式。 Docmosis和JODReports的价值增加使生活比直接学习OpenOffice API更容易,由于UNO api的风格和崩溃相关的错误,这可能具有挑战性。
您可以使用JODConverter来达到此目的。它可以用来在不同的办公室格式之间转换文档。如:
- 微软Office的OpenDocument,反之亦然
- 任何格式的PDF
- 并支持更多的转换以及
- 它也可以转换的MS Office 2007和文档为PDF格式,以及与几乎所有格式
更多关于它的详细信息可以在这里找到: http://www.artofsolving.com/opensource/jodconverter
unoconv,这是一个在UNIX中工作的python工具。 虽然我使用Java在UNIX中调用shell,但它对我来说非常合适。我的源代码:UnoconvTool.java。据说JODConverter和unoconv都使用open office/libre office。
docx4j/docxreport,POI,PDFBox都不错,但他们在转换中缺少一些格式。
我觉得JOD Converter是最简单的实现方法,请参考下面的链接了解更多信息。
http://mytechbites.blogspot.in/2014/10/convert-documents-to-pdf-in-java.html
退房docs-to-pdf-converter on github。它是专为将文档转换为pdf而设计的轻量级解决方案。
为什么?
我想要一个简单的程序,可以将Microsoft Office文档 转换为PDF,但不具有像LibreOffice或昂贵的专有解决方案的依赖关系。看到如何将各种格式的代码和库转换为网页,我决定将所有这些解决方案合并到一个程序中。一路上,I 决定添加ODT支持,因为我也遇到了代码。
- 1. 将MS-Office转换为pdf
- 2. 将doc文件转换为PDF
- 3. 在doc中将docx转换为pdf
- 4. 将pdf,doc,ppt转换为html5
- 5. 将pdf转换为word doc文件
- 6. 将pdf转换为RTF或DOC
- 7. 将Markdown + CSS转换为.doc或.pdf
- 8. 将单个doc文件转换为pdf
- 9. 从命令行将DOC转换为PDF
- 10. 库DOC/XLS为PDF/TIFF转换
- 11. 如何使用Ghostscript将XPS转换为PDF或将XPS转换为DOC?
- 12. 生成ODT/DOC(X)并转换为PDF,无OO.o/MS
- 13. 如何将pdf转换为java中的doc文件
- 14. 如何使用Perl将PDF文件转换为DOC文件?
- 15. 如何将.doc文件转换为.pdf文件在android
- 16. 如何将PDF文件转换为java swing中的doc文件?
- 17. 如何使用Cocoa将pdf和doc文件转换为html
- 18. 如何在没有microsoft.office.interop的情况下将PDF转换为doc?
- 19. 如何使用Matlab将.doc文件转换为PDF?
- 20. PDF到DOC/DOCX转换器
- 21. C#。 Doc to PDF转换
- 22. C#将.doc转换为.htm
- 23. 如何将html转换为pdf与PDF?
- 24. Java:使用apache POI如何将ms word文件转换为pdf?
- 25. perl doc/pdf/xls转换为HTML转换器
- 26. 如何把.doc或.docx文件转换为.pdf文件?
- 27. 如何在MS Office的DOC/XLS/PPT和PDF转换成图像在Android
- 28. 将word(doc,docx)转换为pdf在c#web应用程序
- 29. 循环播放.doc文件,将它们转换为.pdf(Python)
- 30. 将txt或doc转换为pdf使用php
mlk,有什么机会可以详细说明选项#1?我更愿意为我的情况调用MS制造的API,即使它涉及到使用JNI,以获得最佳外观的PDF渲染。 – kwikness 2014-02-06 15:16:27
我仔细研究了一下(http://www.suodenjoki.dk/us/productions/articles/word2pdf.htm)。我不建议这样做,微软也同意这一点。Word不是为自动化设计的。 – 2014-02-07 20:41:07
http://support.microsoft.com/kb/257757/en-us 如果我必须这样做,我会使用Open Office。 – 2014-02-07 20:42:58