8

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

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

谢谢你的帮助

4

7 回答 7

11

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

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

于 2009-10-01T03:02:47.613 回答
4

有一个库可以做到这一点,但它可以与Zend 框架一起使用它可能会对你有所帮助它被称为phpLiveDocxhttp ://www.phplivedocx.org/downloads/ 该库在 New Bcd 下获得许可

于 2009-10-01T07:19:48.817 回答
4

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();
于 2011-06-09T18:00:11.487 回答
3

我刚刚找到了一个同时支持读写的库,在 codeplex forge http://openxmlapi.codeplex.com上检查它,它是在GPLv2下获得许可的。

于 2009-10-02T13:32:26.333 回答
2

或者,由于您请求了一个库,您可能想要查看类似Docvert的内容。我只是根据您的问题环顾四周,到目前为止,它是我最喜欢的 PHP。您输入单词文件位置,它会将其转换为具有属性和所有好东西的简单内容。

于 2009-10-01T03:11:46.520 回答
0

使用OpenOffice将 docx 文档转换为 odt 。然后使用eZ Components进行解析和导入。他们实际上在 CMZ eZ Publish中使用了导入。

于 2010-01-20T11:20:59.770 回答
0

这是我发现的一个简单的工作解决方案

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

于 2012-07-31T11:14:58.093 回答