4

.xmlとして保存してからコンテンツを解析するdocxテンプレートがあります。次に、新しい更新されたWord文書を生成しています。ドキュメントという単語が生成された後、それを開くことができません。「ドキュメントが破損しています」と表示されます。[OK]を押します。次に、「ドキュメントを取得する場合は[OK]を押します」と表示されます。[OK]を押します。次に、更新されたドキュメントを取得します。これは毎回発生します。スタンドアロンのJavaアプリケーションと同じプログラムを作成しました。スタンドアロンのJavaアプリケーションを介して生成されたドキュメントは、エラーなしで開きます。誰かが私にこれについての洞察を提供できますか?サーバー側でも同じコードを使用しました。

これが私がドキュメントを生成するために使用するコードです。

try {
    // Prepare the DOM document for writing
    Source source = new DOMSource(doc);

    // Prepare the output file          
    FileOutputStream file = new FileOutputStream(filename);  

    Result result = new StreamResult(file);
    // Write the DOM document to the file

    Transformer xformer = TransformerFactory.newInstance()
                .newTransformer();

    xformer.transform(source, result);

    file.close();
} catch (TransformerConfigurationException e) {

    System.out.println("Transformation Configuration Excepiton in WriteXMLFile");

} catch (TransformerException e) {

    System.out.println("Transformation Excepiton in WriteXMLFile");

} catch (Exception e) {

    System.out.println("Transformation Excepiton in WriteXMLFile");

    e.printStackTrace();

}
4

4 に答える 4

1

POI ライブラリを使用して Word ドキュメントを生成します (.docx ではなく .doc ですが、動作するはずです)。POI を使用すると、次のことができます: - Word 文書を開く - きれいな API を使用して必要なものを編集する (XML で台無しにしない) - 結果を書き込む

http://poi.apache.org/

于 2011-01-07T11:39:56.063 に答える
1

POI またはdocx4jを使用して、有効な Word ドキュメントを確実に作成できます。

于 2011-05-14T08:38:59.290 に答える
0

JVMのエンコーディングを確認しましたか?私はその問題を抱えていました、そして最終的に私はEclipseでUTF-8を持っていることを発見しました、しかしスタンドアロンでは私はエンコーディングを指定しなかったので、JVMはISO-8559を取ります。

パラメータで確認してください-Dfile.encoding=UTF-8

于 2012-04-02T14:45:29.913 に答える
0

私は Apache POI と docx4j の両方を広範に使用してきましたが、docx4j は、ドキュメント自体だけでなく、表や画像に対してもすぐに使用できるサポートを提供するため、より堅牢であると述べました。docx4j が行うことの多くは自動化されており、Apache の POI では、docx サポートのために多くの手動コーディングを行う必要があります。残念ながら、docx をサポートするための POI についてはあまり行われていません。新しい .docx ファイルをすぐに開いて保存するためのネイティブ サポートがあるため、docx4j を使用することをお勧めします。

于 2013-05-10T15:47:06.410 に答える