1

我需要 PHP 中的一个选项来处理 .docx (Microsoft Office 2007) 文档。

我需要:

  1. 阅读内部文本
  2. 转换为 .html
  3. 在浏览器中查看它们。
  4. 替换文本。

我知道我可以使用 Word Automation,创建 Microsoft Word 的 COM 对象,但它太慢、不稳定,我必须将它安装在服务器上。

是否有任何库或代码可以从 PHP 中做到这一点?

4

5 回答 5

2

PHPExcel的作者为此提供了 PHPWord。

于 2010-07-22T08:57:40.230 回答
1

Docx 只是一个包含多个 XML 文件和嵌入式媒体文件(如图像)的 ZIP 文件。因此,您可以轻松阅读和编辑文档。只需解压缩,打开 word/document.xml,进行读写,然后重新打包文件。

转换为 HTML 可能很困难。但是您会在 docProps/thumbnail.jpeg 中找到第一页的缩略图。

请注意,您必须熟悉 XML 结构才能进行任何复杂的编辑。有一个摘要 XML docProps/app.xml,其中包含文件的一些元数据,所以不要忘记更新它。从维基百科阅读更多信息:http ://en.wikipedia.org/wiki/Office_Open_XML

于 2010-07-30T16:24:10.950 回答
0

您可以直接使用内部格式。

DOCX 只是一个 zip 文件,里面有包含实际文档的 word/document.xml。

解压缩文件、读取所需的 document.xml、str_replace()、保存并重新压缩目录非常简单,它为 Word 文档提供了轻量、快速和简单的邮件合并功能。这也适用于其他办公格式。

这是有关内部结构的官方文档以获取更多信息。

于 2013-11-11T11:32:32.663 回答
0

您可以看看PHPDocX,我相信它可以满足您的所有要求。

  1. 您可以替换模板中的变量或仅替换现有 Word 文档中的纯文本。
  2. 它提供了相当多的转换选项。
  3. 您还可以提取文本。
于 2012-12-21T16:07:50.057 回答
0

还有一个 PHP 类用于将新内容合并到现有的 .docx 文件中。可在此处获得:http ://www.tinybutstrong.com/ 。文档非常好,并且有很多示例,而且都是免费和开源的。不过,它确实需要熟悉 .docx 概念。

于 2013-12-20T21:50:28.957 回答