【发布时间】:2023-03-12 07:17:01
【问题描述】:
我想将多个 doc 或 rtf 文件合并为一个文件,该文件应该是多个文件的相同格式。 我的意思是,如果用户从列表框中选择多个 rtf 模板文件并单击网页上的按钮,输出应该是一个组合多个 rtf 模板文件的单个 rtf 文件,我应该使用 php。
我还没有决定模板文件的格式,但应该是rtf或doc,而且我假设模板文件也有一些图像。
为此我花了很多时间研究图书馆,但仍然找不到。
请帮帮我!! :(
提前致谢。
【问题讨论】:
我想将多个 doc 或 rtf 文件合并为一个文件,该文件应该是多个文件的相同格式。 我的意思是,如果用户从列表框中选择多个 rtf 模板文件并单击网页上的按钮,输出应该是一个组合多个 rtf 模板文件的单个 rtf 文件,我应该使用 php。
我还没有决定模板文件的格式,但应该是rtf或doc,而且我假设模板文件也有一些图像。
为此我花了很多时间研究图书馆,但仍然找不到。
请帮帮我!! :(
提前致谢。
【问题讨论】:
如果您正在寻找仅处理 RTF 文档的解决方案,您可以在这里找到一个 PHP 包来合并多个 RTF 文档:
这是一个关于如何将多个文档合并在一起的简短示例:
include ( 'path/to/RtfMerger.phpclass' ) ;
$merger = new RtfMerger ( 'sample1.rtf', 'sample2.rtf' ) ; // You can specify docs to be merged to the class constructor...
$merger -> Add ( 'sample3.rtf' ) ; // or by using the Add() method
$merger [] = 'sample4.rtf' ; // or by using the array access methods
$merger -> SaveTo ( 'output.rtf' ) ; // Will save files 'sample1' to 'sample4' into 'output.rtf'
此包允许您处理大于可用内存的文档。
【讨论】:
我一直在从事一个类似的项目,但没有找到任何用于处理 MSWord 文件的 PHP(或任何其他开源语言)库。我处理它的方式有点复杂,但很有效。下面是我的做法(假设你有一台 Linux 服务器):
设置:
方法(即在您的 PHP 代码中做什么):
exec() 调用 JODConverter 将您的 MSWord 或 RTF 文件转换为 ODT 格式
contents.xml文件
<office:text> 内容,然后连接content.xml 文件之一中的正确位置.odt 扩展名正如我所说,它并不漂亮,但它可以完成工作。
如果您想走 RTF 路线,这个问题也可能会有所帮助:Concatenate RTF files in PHP (REGEX)
【讨论】: