5

docx パッケージを開き<w:t>、"word/document.xml" の一部のテキストを変更するプログラムを作成しました。Microsoft Word で新しく生成された docx を開くと、「ファイルが破損しています」というエラーが表示されます。しかし、"Open XML SDK Tool" でテンプレート docx ファイルと結果 docx ファイルの違いを見ると、"word/document.xml" で 2 行しか変更されていません。スクリーンショットを見てください:

ここに画像の説明を入力

プログラムは、ドキュメントの形式、スタイル、または簡潔さに触れません。テキストのみ<w:t>

では、Microsoft Word で「ファイルが破損しています」というエラーが発生する原因は何ですか?

このエラーは、Microsoft Word でのみ表示されます。たとえば、Mac OS X 上の OpenOffice と TextEdit は、生成されたファイルをエラーなしで開きます。

これらのdocx ファイルをアップロードしますので、自分で見ることができます。

4

1 に答える 1

4

私は盲目的な推測をして、あなたが変更した文書には UNIX スタイルの行末が含まれていると言うでしょう。\nWord 2003 は行末を許容しません\r\n 。Word 2007/2010 はより寛容で、両方のバージョンを受け入れますが、必要です。

\r\nドキュメントを変更する場合にのみ使用してください。

更新: あなたの文書を確認しましたが、実際、文書の XML 部分は UNIX スタイルの行末を使用しています。

更新 2: 結果ドキュメントに追加のファイルが含まれています: .DS_Store. それをアーカイブから削除すると、ドキュメントが開きます。

于 2010-08-23T11:24:30.587 に答える