繁体   English   中英

以编程方式修复“Word 在损坏中发现不可读的内容...”

[英]Fixing "Word found unreadable content in corrupt..." programmatically

我正在从另一个系统获取 OpenXml 生成的 docx 文件。 当尝试使用Microsoft.Office.Interop.Word.Application.Open(filename)在我的应用程序中打开文件时,我得到一个The file appears to be corrupted异常。

当我手动打开 docx 文件时,我看到一个Word found unreadable content in corrupt xxx.docx. Do you want to recover the contents of this document? If you trust the source of this document, click Yes. Word found unreadable content in corrupt xxx.docx. Do you want to recover the contents of this document? If you trust the source of this document, click Yes. 迅速的。 当我单击Yes ,它能够在一个新的未保存的 Word 文件中恢复该文档。

我曾尝试将之前的corruption.docx 文件的document.xml 与recovered.docx 文件的document.xml 进行比较。 虽然两个 document.xmls 之间有许多格式更改(关闭 xml-tags 之间的额外空间),主要区别在于 AltChunk 实际上嵌入到了 recovery.docx 中,并且有几个空的“run”标签被删除了。 我不确定是什么导致文件被认为已损坏,因为这些文件似乎不应该损坏。

也就是说,当我单击“ Yes时,有没有办法运行发生的任何进程...Do you want to recover the contents of this document?...通过我的应用程序以编程方式提示; 这会是理想的吗? 不太好,有没有办法告诉 xml 的哪些部分实际上在 word doc 中损坏了?

也就是说,有没有办法运行当我单击“是”时发生的任何进程...是否要恢复此文档的内容?...通过我的应用程序以编程方式提示; 这会是理想的吗? 不太好,有没有办法告诉 xml 的哪些部分实际上在 word doc 中损坏了?

  1. 不,那不是暴露在外面
  2. 理论上,验证是可能的。 但考虑到涉及 AltChunk,这可能不会出现问题。 AltChunk 的内容在 Word 处理文档之前不会集成,此时它已集成。 如果出现的内容“破坏”了某些内容,则验证将无法识别。

在这种特殊情况下,我可能会尝试手动删除 AltChunk(这些部分位于 zip 文件中的几个位置)并查看文件是否可以在没有它的情况下打开。 但是,如果您对 Word Open XML zip 包不是很熟悉,最好询问文档的制作者/来源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM