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

发布于 2024-09-15 05:24:36 字数 603 浏览 8 评论 0原文

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

在此处输入图像描述

程序不涉及文档格式、样式或其他内容。仅 中的文本

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

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

我上传了这些 docx文件,所以你可以自己查看。

I wrote a program, which open docx package and changes some <w:t>-text in "word/document.xml". When i open new generated docx in Microsoft word, it gives me an error — "file is corrupted". But if look in "Open XML SDK Tool" diffs between template docx and result docx files — there is only two line changed in "word/document.xml". Look at screenshot:

enter image description here

Program doesn't touches document format, styles or smth. Only text in <w:t>

So, what's can provoke "file is corrupted" error in Microsoft Word?

And this error appears ONLY in Microsoft Word. For example OpenOffice and TextEdit on Mac OS X open generated files without any errors.

I upload these docx files, so you can look at them by yourself.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你穿错了嫁妆 2024-09-22 05:24:38

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

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

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

更新 2:您的结果文档中包含一个附加文件:.DS_Store。从存档中删除该文件,文档将打开。

I'd make a blind guess and say that the document you modified contains UNIX-style line endings. Word 2003 does not tolerate a \n line ending, it requires \r\n whereas Word 2007/2010 is more tolerant and accepts both versions.

Make sure to only use \r\n when modifying the document.

Update: I checked your document, and indeed the document XML part uses a UNIX-style line ending.

Update 2: You have an additional file included in your result document: .DS_Store. Remove that from the archive and the document will open.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文