如何以编程方式将RTF文档转换为PDF?有没有一种免费的方法来将RTF转换为PDF?
回答
OpenOffice.org可以在服务器模式下运行(即没有任何GUI),可以读取RTF文件并可以输出PDF文件。
使用PDFCreator,一个免费的PDF打印机。只需打印到PDF。你可以通过COM来控制它。示例代码位于安装目录的COM文件夹中。
这当然只能在Windows上运行。 – vladr 2009-02-25 16:01:45
PDFCreator for windows是最简单的单个文档。
也可以通过将大量文档转换为XML并使用XSLT和XSL-FO来自动创建大量文档的PDF。那里有lots of tutorials。
对于一种特定的语言,如python,存在的库可以相当平凡地输出为PDF。
XML比其他更简单的解决方案的唯一优点是可扩展性。您也可以通过编程以RTF,HTML,TXT或其他任何文本格式输出文档。
这当然只能在Windows上运行。不幸的是,尚未明确解决方案需要哪种平台。 – vladr 2009-02-25 21:35:35
自然。虽然XSLT解决方案将适用于任何平台。 – 2009-02-25 21:35:45
你取决于多项选择:
- 平台(一个或多个)应用程序将在
- 运行你的应用程序是否是服务器应用程序(如Web服务,您设置一次然后运行)或者广泛使用的桌面应用程序(例如,必须容易下载并且可由许多人安装的东西)
- 您是否愿意将一点或多点编程工作投入到获得解决方案的工作中
- 你不管你是灵活的编程语言将使用
这里有一些选择:
- PDFCreator + COM
- 仅适用于Windows
- 适用于台式机和服务器应用
- 中等编程努力
- ,让你说话COM
- OpenOffice(+ JODConverter - 可选)任何语言
- 跨平台(Windows,Linux等)
- 适合服务器应用程序,如OpenOffice是一个100MB +下载
- 低编程工作
- 的Java(如果使用JODConverter),或任何语言,可以用接口OpenOffice's UNO
- IText + Apache POI
- 跨平台(Windows,Linux等)
- 适合桌面和服务器应用程序
- 高的编程工作
- 的Java
编辑
这里是一个older post,有一些共性与你的问题。
EDIT 2
我看到你的意见,你是在Linux和开放要么C++或Java。 肯定使用选项2.
JODConverter
(JAVA):该库负责在无头模式产卵OpenOffice
和谈话Uno
来代表您的。您提供JODConverter
的输入和输出文件名称以及输入和输出类型(例如rtf和pdf),并在返回给您时输出文件已准备就绪。- C++:您可以fork + exec一个(或更多,用于负载均衡)无头模式下的OpenOffice实例(soffice将侦听套接字上的UNO请求,例如端口8100.)从您的应用程序使用Uno/CPP指示OpenOffice执行转换以同样的方式
JODConverter
没有(看到如何做到这一点的JODConverter
源代码。)
/opt/openoffice.org3/program/soffice.bin \
-accept=socket,host=127.0.0.1,port=8100;urp; \
-headless -nocrashreport -nodefault \
-nolockcheck -nologo -norestore
我成功地利用JODConverter
从Java应用程序,以杂项文档类型(一些文件从模板中动态生成)转换为pdf
。
PrimoPDF。它充当虚拟打印机,所以你只需打印它,然后弹出一个PDF。
四年下旬到这里聚会,但我在Web应用程序中Ted。我以编程方式生成RTF,然后使用包中包含的rtf2pdf.sh
脚本生成PDF。我之前尝试过OOo和unoconv,但Ted在我的应用程序中证明了更快,更可靠。
LibreOffice可以通过命令行将RTF文档转换为PDF。
Here是在CentOS上安装它的说明。
这是启动从PHP代码转换的示例:
<?php shell_exec('libreoffice4.2 --headless --invisible --norestore --convert-to pdf test.rtf'); ?>
- 1. 有没有一种方法可以将网页转换为pdf?
- 2. 有没有一种有效的方法将Bundle转换为ContentValues?
- 3. 将rtf转换为pdf
- 4. 有没有一种方法可以免费安装.NET 3.5 SP1?
- 5. Android:Android有没有免费的PDF库
- 6. 有没有一种“正确的方法”来避免output_buffering?
- 7. 有没有一种将LINQ-to-SQL数据转换为XML的有效方法?
- 8. 有没有一种有效的方法将numpy.ndarray转换为列表?
- 9. 有没有一种有效的方法来做jQuery切换?
- 10. 有没有一种通用的方式来进行此转换?
- 11. 有没有一种快速的方法将实体转换为.csv文件?
- 12. 有没有一种简单的方法在JavaScript中将文本转换为HTML?
- 13. 有一种简单的方法来System.Data.DataTable转换为LINQ实体?
- 14. 将pdf转换为RTF或DOC
- 15. 有没有一种方法可以在ActionScript中将文本转换为圆形?
- 16. 有没有一种有效的方法来将a3d场景转换为2D增强图元文件
- 17. 有没有任何免费的工具将html页面转换为图片?
- 18. 是否有免费的组件将阿拉伯语html转换为pdf?
- 19. 有没有一种有效的方法来避免SQL中的固定值UNION?
- 20. 有没有办法使用PHP将PDF转换为HTML/CSS?
- 21. 有没有标准的方法来将org.scalajs.dom.raw.Promise转换为未来的
- 22. 有没有办法将DocX,OpenXml或RTF转换为AS3中的TextFlow?
- 23. will_paginate有没有一种方法来设置per_page为“所有”
- 24. 有没有一种简单的方法来将字符串转换为使用vbscript的数学表达式?
- 25. 有没有办法将这种字符串转换为日期?
- 26. 有没有人有将XML转换为PDF的实际经验?
- 27. 没有足够的内存将base64 rtf doc转换为xml?
- 28. 有没有一种系统的方法来将R代码与循环转换为矢量化代码?
- 29. 有没有免费的DBF文件转换器?
- 30. 有没有免费的g729或g711转换器?
什么是你的背景?你是否试图在桌面上做到这一点(下面的PDFCreator选项是好的)?你是否试图做到这一点,作为一个网络应用程序的一部分?还有别的吗?请编辑您的问题,让我们知道。 – acrosman 2009-02-25 15:55:08
您是在Windows还是其他平台?你在寻找一个java解决方案,用于C/C++解决方案,还是这种无动于衷?请问这是一个服务器应用程序(例如一个Web服务器)还是一个桌面应用程序(多个用户将下载并安装它?) – vladr 2009-02-25 16:03:25
服务器端在linux C++或java – user63898 2009-02-26 08:11:36