Я получаю сгенерированный Open Xml файл 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.
. Когда я нажимаю Yes
, он может восстановить документ в новом несохраненном файле Word.
Я попытался сравнить документ предыдущего файла поврежденного .docx. xml с документом файла recovered.docx. xml. Несмотря на то, что между двумя document.xmls есть много изменений форматирования (дополнительное пространство между закрывающими тегами xml), основным отличием было то, что AltChunk фактически был встроен в recovered.docx, и было несколько пустых тегов «run», которые получили удален. Я не уверен, что может привести к тому, что файл будет считаться поврежденным, поскольку те не кажутся нужными.
Тем не менее, есть ли способ запустить любой процесс, который происходит, когда я нажимаю Yes
, чтобы это ...Do you want to recover the contents of this document?...
подсказывает программно через мое приложение; это было бы идеально? Менее предпочтительно, есть ли способ сказать, какие части xml на самом деле портят в слове do c?