答案 0 :(得分:16)
OpenOffice.org可以在服务器模式下运行(即没有任何GUI),可以读取RTF文件并输出PDF文件。
答案 1 :(得分:14)
您有许多选项,具体取决于:
以下是一些选项:
修改强>
这是older post,与您的问题有一些共性。
编辑2
我从你的评论中看到你在Linux上并且对C ++或Java开放。 绝对使用选项2.
JODConverter
(Java):图书馆负责以无头模式生成OpenOffice
,并代表您与Uno
交谈。您为JODConverter
提供输入和输出文件名以及输入和输出类型(例如rtf和pdf),当它返回给您时,输出文件就绪。JODConverter
的方式执行转换(请参阅JODConverter
源代码以了解如何执行此操作。)
/opt/openoffice.org3/program/soffice.bin \
-accept=socket,host=127.0.0.1,port=8100;urp; \
-headless -nocrashreport -nodefault \
-nolockcheck -nologo -norestore
我成功地使用Java应用程序中的JODConverter
将各种文档类型(从模板动态生成的一些文档)转换为pdf
。
答案 2 :(得分:3)
这里聚会迟到了四年,但我在我的网络应用程序中使用了Ted。我以编程方式生成RTF,然后使用包中包含的rtf2pdf.sh
脚本生成PDF。我之前尝试过OOo和unoconv,但是Ted在我的应用程序中证明了更快,更可靠。
答案 3 :(得分:2)
使用免费的pdf打印机PDFCreator。只需打印到pdf。您可以通过COM控制它。示例代码位于安装目录的COM文件夹中。
答案 4 :(得分:2)
PDFCreator for windows是单个文档最简单的。
通过将PDF文件转换为XML并使用XSLT和XSL-FO,也可以为大型文档自动化PDF创建。这里有lots of tutorials。
对于特定语言,例如python,存在可以相当简单地输出到PDF的库。
与其他更简单的解决方案相比,XML的唯一优势是可扩展性。您还可以通过编程方式以RTF,HTML,TXT或任何其他文本格式输出文档。
答案 5 :(得分:1)
LibreOffice可以通过命令行将RTF文档转换为PDF格式。
Here是在CentOS上安装它的说明。
这是从PHP代码启动转换的示例:
<?php shell_exec('libreoffice4.2 --headless --invisible --norestore --convert-to pdf test.rtf'); ?>
答案 6 :(得分:0)
PrimoPDF。它充当虚拟打印机,因此您只需打印它,然后弹出PDF。
答案 7 :(得分:0)