OLE オートメーションを使用せずに、プログラムで docx 形式の Word 文書を doc 形式に変換する方法を探しています。私はすでにこれを行う Windows サービスを持っていますが、それはサーバーに Office をインストールすることを意味し、少し信頼性が低く、サポートされていません。私は aspose.words 製品を知っており、それを試してみますが、これをできるだけ簡単に、確実に、そして安価に行うための推奨事項はありますか?
2 に答える
OLE オートメーションを使用しないオプションの 1 つは、Office を自動化せずに docx から doc に変換するために、互換性パックに付属するコンバータ dll をラップすることです。
これには、Office の互換性パックがマシンにインストールされていることだけが必要です。
Office コンバーター dll は、ForeignToRtf/RtfToForeign インターフェイスを使用して、サポートしているドキュメント形式から RTF に変換したり、RTF からドキュメント形式に変換したりします。たとえば、DOCX -> RTF -> DOC の変換を実行するなど、ある形式から別の形式に変換したい場合は、コンバーターを連鎖させることができます。
Microsoft から SDK を入手できます。これには、既存のコンバーターの使用方法に関するいくつかのサンプルが含まれています。私の記憶が正しければ、コマンド ライン ラッパーのサンプルが既に含まれています。すべてが C/C++ のものです。
次のレジストリ キーを調べると、どのコンバーター dll が OpenXML 変換を担当しているかを確認できます。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Text Converters\Import\Word12
これについてさらに詳細が必要な場合はお知らせください。
docx4j (または単に poi) を使用して docx を読み取り、 poi を使用して .doc として書き出すことができます。