当您打开Word时,它允许您保存为Word Open XML格式。我见过有关将docx文件作为zip打开然后从那里提取内容的帖子。但我真正想要的是一种将docx转换为单个XML的方法,就像在MS Office中执行“另存为”操作一样。怎么办?
如何为.doc格式执行此操作?
注意:我想以编程方式执行此操作。最好在Linux开发条件下使用PHP。但如果没有,那么其他语言就可以。最后,如果归结为它,我可以考虑启动Windows服务器来执行此操作。
答案 0 :(得分:4)
很抱歉复活死线程,但我刚刚找到了DOCX文件的答案。 DOCX文件只是XML文件的ZIP存档。因此,为了提取其中一个文件的内容,v.gr。在Linux环境下的word / document.xml,你必须运行解压缩:
NullReferenceException
要将此命令的输出捕获到PHP脚本的$ xml变量中,您可以发出:
unzip -q -c myfile.docx word/document.xml
希望这个答案有助于DOCX文件。迟到总比没有好。
对于DOC文件,此方法不起作用。
答案 1 :(得分:2)
你也可以使用docx4j(我工作),'j'是Java。
答案 2 :(得分:1)
在Word中:文件|另存为Word XML Document(* .xml)为您提供所需的Open XML格式,作为单个XML文件
在使用Interop的代码中:使用Document对象的SaveAs方法,使用WdSaveFormat.wdFormatXMLDocument作为保存格式。您还应该使用Document.Convert方法更新与安装的MS Office版本的兼容性。
所以,不一定是完整的演示,但这应该给你正确的想法:
ActiveDocument.Convert();
WdSaveFormat myNewSaveFormat = WdSaveFormat.wdFormatXMLDocument;
ActiveDocument.SaveAs(newFilePath, myNewSaveFormat); //where newFilePath can be a FileInfo object specifying the new file name and extension (docx)