从PHP处理Microsoft Word Office 2007 .docx文档

时间:2010-07-22 08:49:20

标签: php ms-word docx openxml

我需要从PHP内部选择Manipulate .docx(Microsoft Office 2007)文档。

我需要:

  1. 阅读内部文字
  2. 转换为.html
  3. 在浏览器中查看。
  4. 替换文字。
  5. 我知道我可以使用Word Automation,创建一个Microsoft Word的COM对象,但它太慢,不稳定,我必须在服务器上安装它。

    是否有可以通过PHP进行此操作的库或代码?

5 个答案:

答案 0 :(得分:2)

PHPExcel的作者有PHPWord

答案 1 :(得分:1)

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

Convet to HTML可能很难。但是你会在docProps / thumbnail.jpeg中找到第一页的缩略图。

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

答案 2 :(得分:0)

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

  1. 您可以替换模板中的变量,也可以替换现有Word文档中的纯文本。
  2. 它提供了很多转换选项。
  3. 您也可以提取文字。

答案 3 :(得分:0)

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

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

解压缩文件,读取document.xml,str_replace()以及查找目录是非常简单的,它可以实现轻量级,快速简便的邮件合并功能。文档。这也适用于其他办公室格式。

以下是official docs on the internal structure以获取更多信息。

答案 4 :(得分:0)

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