代码之家  ›  专栏  ›  技术社区  ›  RageZ

在PHP中读取docx(officeopenxml)

  •  8
  • RageZ  · 技术社区  · 16 年前

    我想添加一个word导入功能到我们的CMS中,唯一的问题是我找不到一个好的库来读取docx文件(word 2007)。

    有没有人有一些建议,图书馆应该能够提取文件的内容和基本样式,如斜体,粗体,上标?

    谢谢你的帮助

    7 回复  |  直到 16 年前
        1
  •  11
  •   Anthony    16 年前

    docx 文件实际上只是文档XML的容器。您应该能够解压缩docx文件,然后转到其中的word文件夹,然后转到document.xml。这是实际的文本。但是像字体和样式之类的东西都在docx容器中的其他xml文件中,所以您可能想弄清楚什么是什么以及如何匹配它(我打赌,从使用名称空间开始)。

    但是,是的,解压文件,然后使用simplexml将其转换成您实际上可以处理的东西。

        2
  •  4
  •   Scott Evernden    14 年前

    PHPDocX PRO 包括一个TransformDoc类,该类可以读取.docx(zip)文件并从中生成XHTML(或PDF):

    ...
    require_once 'phpdocx_pro/classes/TransformDoc.inc';
    $doc = new TransformDoc();
    $doc->setStrFile($file->filepath);
    $doc->generateXHTML();
    $html = $doc->getStrXHTML();
    
        3
  •  4
  •   sohaibafifi    13 年前

    有一个库可以做到这一点,但它与 Zend框架 它被称为 : http://www.phplivedocx.org/downloads/

        4
  •  3
  •   sohaibafifi    16 年前

    我刚刚找到一个既有读写支持的库,请在codeplex forge上查看它 http://openxmlapi.codeplex.com 它是根据 GPLv2 .

        5
  •  2
  •   Anthony    16 年前

    Docvert . 我只是根据你的问题四处看看,到目前为止,这是我最喜欢的PHP。您输入word文件位置,它会将其转换为简单的属性和所有好的东西。

        6
  •  0
  •   DrDol    16 年前

    使用将docx文档转换为odt OpenOffice . 那么使用 eZ Components 执行解析和导入。他们实际上在CMZ中使用导入 eZ Publish

        7
  •  0
  •   andrebruton    13 年前

    这是我找到的一个简单可行的解决方案

    http://webcheatsheet.com/php/reading_the_clean_text_from_docx_odt.php