比較的大量の Word 出力を生成するアプリケーションに取り組んでいます。現在、ドキュメントの作成には Word Interop サービスを使用していますが、特に古い (2007 年より前の) バージョンの Office では非常に時間がかかります。生成を高速化したいと考えています。
私はまだ多くのプロファイリングを行っていませんが、大量の COM 呼び出しを行っていることが問題であると確信しています。プロファイリングによって、他の呼び出しよりも遅い呼び出しのサブセットが得られることを願っていますが、私の直感では、おそらくいくつかの遅い呼び出しではなく、COM オーバーヘッド (または Word Interop オーバーヘッド) の問題であることがわかります。
また、この製品は HTML 出力を生成でき、そのプロセスは (a) 非常に高速であり、(b) HTML 固有の機能のサブクラスが異なるだけで、ほとんど同じコードパスを使用します。したがって、私たちのアルゴリズムが根本的に遅いわけではないと確信しています。
だから... Word ファイルの生成を高速化するための代替方法の提案を探しています。
生成された HTML ファイルの名前を .doc に変更したり、代わりに RTF を生成したりすることはできません。どちらの場合も、重要な書式設定情報が失われます。RTF の場合、インライン グラフィックは確実に機能しません。
私たちが評価しているアプローチの 1 つは、フラット ファイルを使用して必要な出力を作成する方法を知っているマクロを含むテンプレートから (相互運用機能を介して) プログラムで Word ファイルを生成して開くことです。私たちは、そのアプローチに関するフィードバック、および物事をスピードアップするためのその他のアイデアに関心があります。