5

OpenXML SDK 2.0 を使用して、2 つの docx ドキュメントを 1 つの docx ドキュメントにマージしようとしています。スタイルやカスタム ヘッダーとフッターを失うことなく、ドキュメントをマージする必要があります。AltChunkセクション区切りを使用してこれを達成できることを願っています。しかし、私はそれを機能させることができません。

私がやろうとしていることは可能ですか?誰かがこれを達成する方法を教えてもらえますか?

4

2 に答える 2

5

上記の答えはまったく正しくありません。これは、まさに AltChunk が設計された目的であり、うまく機能します。

注: Word が最初にファイルを開くまで、ドキュメントは 1 つのドキュメントにマージされません (明らかに、ファイルを保存する必要があります。そうしないと、ディスク上のファイルは更新されません)。

適切に行う方法の詳細については、このブログを参照してください: https://blogs.msdn.com/b/ericwhite/archive/2008/10/27/how-to-use-altchunk-for-document-assembly.aspx ?リダイレクト=true

ps 生産性向上ツールを使用して Open XML を調べることについては、公式の Visual Studio Open XML アドオンをインストールし、Visual Studio から Office ドキュメントを開いて調べるだけでよいと思います。非常に便利です。:-)

于 2012-02-08T01:59:58.020 に答える
1

「Open XML Productivity Tool」を使用して docx ドキュメントの構造を分析した結果、スタイル、ヘッダー、フッターなどを使用してドキュメントをマージすることは、そのままではAltchunk. このツールは、 open xml sdkから個別にダウンロードできます。

私が今行っていること、および機能していることは、すべてのスタイル参照、ヘッダー参照、フッター参照などが確実に保存されるように、すべてをドキュメントに手動でコピーすることです。これは、それらをドキュメントにコピーし、すべての参照を古い ID から新しい ID に変更する前に、それらに新しい一意の ID を与えることを意味します。これを行うコードはたくさんありますが、上記のツールは本当に役に立ちました。

セクション区切りを追加することも非常に困難です。SectionProperties -tag はセクションのすべてのプロパティを記述しSectionProperties、 -tag の下に 1 つの -tagBodyがあり、最後のセクションのプロパティを記述できることを知っておく必要があります。したがって、新しいセクションブレークを追加するということは、最後のSectionProperties-tag をセクションの最後の段落にコピーし、新しいSectionProperties-tag を -tag の下に追加することを意味しBodyます。また、生産性ツールから多くの情報を取得しました。

于 2010-03-31T09:18:30.713 に答える