我需要 PHP 中的一个选项来处理 .docx (Microsoft Office 2007) 文档。
我需要:
- 阅读内部文本
- 转换为 .html
- 在浏览器中查看它们。
- 替换文本。
我知道我可以使用 Word Automation,创建 Microsoft Word 的 COM 对象,但它太慢、不稳定,我必须将它安装在服务器上。
是否有任何库或代码可以从 PHP 中做到这一点?
PHPExcel的作者为此提供了 PHPWord。
Docx 只是一个包含多个 XML 文件和嵌入式媒体文件(如图像)的 ZIP 文件。因此,您可以轻松阅读和编辑文档。只需解压缩,打开 word/document.xml,进行读写,然后重新打包文件。
转换为 HTML 可能很困难。但是您会在 docProps/thumbnail.jpeg 中找到第一页的缩略图。
请注意,您必须熟悉 XML 结构才能进行任何复杂的编辑。有一个摘要 XML docProps/app.xml,其中包含文件的一些元数据,所以不要忘记更新它。从维基百科阅读更多信息:http ://en.wikipedia.org/wiki/Office_Open_XML
您可以直接使用内部格式。
DOCX 只是一个 zip 文件,里面有包含实际文档的 word/document.xml。
解压缩文件、读取所需的 document.xml、str_replace()、保存并重新压缩目录非常简单,它为 Word 文档提供了轻量、快速和简单的邮件合并功能。这也适用于其他办公格式。
这是有关内部结构的官方文档以获取更多信息。
您可以看看PHPDocX,我相信它可以满足您的所有要求。
还有一个 PHP 类用于将新内容合并到现有的 .docx 文件中。可在此处获得:http ://www.tinybutstrong.com/ 。文档非常好,并且有很多示例,而且都是免费和开源的。不过,它确实需要熟悉 .docx 概念。