docx Ошибка файла в Microsoft Word - PullRequest
       25

docx Ошибка файла в Microsoft Word

5 голосов
/ 23 августа 2010

Я написал программу, которая открывает пакет docx и изменяет текст <w:t> в "word / document.xml". Когда я открываю новый сгенерированный документ в Microsoft Word, он выдает мне ошибку - "файл поврежден". Но если посмотреть в «Open XML SDK Tool» различия между шаблонами docx и результирующими файлами docx - в word / document.xml изменились только две строки. Посмотрите на скриншот:

enter image description here

Программа не затрагивает формат документа, стили или что-то еще. Только текст в <w:t>

Итак, что может спровоцировать ошибку «файл поврежден» в Microsoft Word?

И эта ошибка появляется ТОЛЬКО в Microsoft Word. Например, OpenOffice и TextEdit в Mac OS X открывают сгенерированные файлы без каких-либо ошибок.

Я загружаю эти файлы docx, чтобы вы могли просмотреть их самостоятельно.

1 Ответ

4 голосов
/ 23 августа 2010

Я бы сделал слепое предположение и сказал бы, что документ, который вы изменили, содержит окончания строк в стиле UNIX.Word 2003 не допускает окончания строки \n, для него требуется \r\n, тогда как Word 2007/2010 более терпим и поддерживает обе версии.

Убедитесь, что при изменении документа используется только \r\n.

Обновление: я проверил ваш документ, и действительно, в части XML документа используется конец строки в стиле UNIX.

Обновление 2: в ваш итоговый документ включен дополнительный файл: .DS_Store.Удалите это из архива, и документ откроется.

...