Altchunkから作成されたOpenXMLドキュメントに画像を追加します
質問
XHTMLソースからDocxファイルを作成するための自動プロセスが必要です。 XHTMLファイルには画像が含まれています(<img>
要素)「SRC」属性が外部参照を指します。ただし、DOCXファイルはネットワーク接続なしで読みやすくする必要があるため、画像をDOCXパッケージに直接埋め込む方法を見つける必要があります(つまり、 /メディアフォルダー内)。
これまでのところ、Altchunkメソッドを使用しました( エリック・ホワイト).docxファイルを作成します。 OpenXML SDKを使用して、画像パーツをパッケージに挿入したいと考えていました。しかし、それを行うには、段落を挿入する必要があります(<p>
ノード)ドキュメントに。残念ながら、ドキュメントパーツには、Altchunkへの参照(docxパッケージに個別に保存されています)にすぎません。もちろん、Docxが開かれ、編集され、保存されると、Altchunk部品が削除され、内容がdocument.xmlに適切に埋め込まれます。しかし、私はそのプログラムでその方法を知りませんので、それは役に立ちません。
私が検討した他のオプション:
- XHTMLを各画像間で区切ってセグメントに分割し、各AltChunk 1を1つずつ追加し、それぞれの間に適切な画像参照を追加します。 (退屈ですが、可能と思われます)
- 画像をメディアフォルダーに挿入し、wordprocessingMlをXHTMLに直接埋め込み、
<img>
パッケージ化された画像ファイルを参照してください。 (せいぜい疑わしい)誰かがより良いアプローチを考えることができますか?
解決
まあ、私は自分の問題を解決しました。ドキュメントをMHTML(ファイルに直接埋め込んだ画像を含めることができる)に変換し、AltChunkを使用して最終的なDocxファイルを作成することにしました。しかし、私はまだファイルでいくつかの後処理をやりたかった(単語文書にエンドノートを挿入するため)が、上記のように、これはまで不可能です 後 AltchunkはDocxに変換されましたが、これはプログラムで行うことはできません。
そのため、Altchunkパスを完全にバイパスし、XHTMLからDocxまでの「ゲートウェイ」としてMHTMLを単に使用できることがわかりました。 XHTMLをMHTMLに変換しました。 と Endnotesは、.doc拡張子でファイルを変更しました。結果のドキュメントは、単語で直接開くことができます(そして、後続の保存でより適切に変換されます)。これまでのところ、それはうまく機能します(MacのバージョンのWordとWord2003にはいくつかのバグがありますが)。