docx“Microsoft Word中的文件已损坏”错误

时间:2010-08-23 11:17:50

标签: ms-word ms-office docx

我编写了一个程序,它打开了docx包并更改了一些<w:t> - “word / document.xml”中的文本。当我在Microsoft Word中打开新生成的docx时,它会给我一个错误 - “文件已损坏”。但是如果在模板docx和结果docx文件之间查看“Open XML SDK Tool”差异 - 在“word / document.xml”中只更改了两行。看截图:

enter image description here

程序不涉及文档格式,样式或smth。仅限<w:t>

中的文字

那么,什么可以在Microsoft Word中引发“文件已损坏”错误?

此错误仅出现在Microsoft Word中。例如,Mac OS X上的OpenOffice和TextEdit打开生成的文件,没有任何错误。

我上传了these docx文件,因此您可以自己查看。

1 个答案:

答案 0 :(得分:4)

我会盲目猜测并说您修改的文档包含UNIX样式的行结尾。 Word 2003不允许\n行结束,它需要\r\n而Word 2007/2010更宽容并接受这两个版本。

确保在修改文档时仅使用\r\n

更新:我检查了您的文档,实际上文档XML部分使用了UNIX样式的行结尾。

更新2:您的结果文档中包含其他文件:.DS_Store。从存档中删除它,文档将打开。