在PHP中,如何将HTML+CSS转换为RTF?

18

我正在寻找一种在PHP中将HTML + CSS(2.1)转换为RTF的解决方案。虽然我已经找到了一个非常好的HTML到PDF的解决方案Prince XML, 但我仍然没有找到以下任何一项功能:

  • 能够将HTML转换为RTF(或DOC);
  • 可在Linux服务器上运行;
  • 能够从PHP中调用;
  • 处理分页媒体以及添加页面页眉和页脚的能力;以及
  • 能够处理表格。

是否有类似的工具可以满足这些要求?


如果没有4000美元的服务器许可证就好了! - garrow
你介意分享一下你最后用了什么吗? - meder omuraliev
@meder 我从来没有真正找到一个好的解决方案。最后,需求消失了,所以它变成了一个不重要的问题。 - cletus
html2pdf是一个很好的用于将HTML转换为PDF的库。我正在寻找同样适用于HTML到DOCx / DOC / RTF的库? - Mohit Jain
1
还没有仔细查看,但http://w3.org/Tools/html2things.html可能会引起兴趣。 - Firedrake969
3个回答

13

使用 phpLiveDocx 是做到这一点最简单的方法。它是 Zend 框架的组件,完全免费。

支持的模板文件格式(输入)

  • DOCX - 微软 Word DOCX 格式
  • DOC - 微软 Word DOC 格式
  • RTF - 富文本格式文件
  • TXD - TX 文本控制格式

支持的文档文件格式(输出)

  • DOCX - 微软 Word DOCX 格式
  • DOC - 微软 Word DOC 格式
  • RTF - 富文本格式文件
  • PDF - Acrobat 便携式文档格式
  • TXD - TX 文本控制格式
  • TXT - ANSI 纯文本

从项目网站:

“phpLiveDocx 允许开发人员通过将 PHP 中的结构化数据与在文字处理器中创建的模板相结合来生成文档。生成的文档可以保存为 PDF、DOCX、DOC 或 RTF 文件。这个概念与邮件合并相同。”

详情请见:

http://www.phplivedocx.org/articles/brief-introduction-to-phplivedocx/


1
也许我漏掉了什么,但是liveDocX不支持HTML作为输入。这是正确的吗? - johndodo

12
针对您的所有文档转换需求,您可以使用OpenOffice(以无界面模式运行)。您可以使用命令行参数调用它来执行转换,也可以使用PUNO进行接口交互。您可以每次需要转换时生成一个新的OpenOffice实例,或者将一个或多个实例作为守护进程运行。
无论选择哪种接口方式,您可能都想在打开HTML之后但在导出为Word之前使用宏添加自定义标题和页脚。

1
有一个用于 HTML 转 PDF 的 PHP 封装 PD4ML。可以选择使用 PD4ML 生成 RTF 而不是 PDF。您只需要在命令行中添加 -outformat rtf-outformat rtfwmf(并相应地调整 HTTP 标头)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接