Altchunkから作成されたOpenXMLドキュメントに画像を追加します

StackOverflow https://stackoverflow.com/questions/1281034

  •  16-09-2019
  •  | 
  •  

質問

XHTMLソースからDocxファイルを作成するための自動プロセスが必要です。 XHTMLファイルには画像が含まれています(<img> 要素)「SRC」属性が外部参照を指します。ただし、DOCXファイルはネットワーク接続なしで読みやすくする必要があるため、画像をDOCXパッケージに直接埋め込む方法を見つける必要があります(つまり、 /メディアフォルダー内)。

これまでのところ、Altchunkメソッドを使用しました( エリック・ホワイト).docxファイルを作成します。 OpenXML SDKを使用して、画像パーツをパッケージに挿入したいと考えていました。しかし、それを行うには、段落を挿入する必要があります(<p> ノード)ドキュメントに。残念ながら、ドキュメントパーツには、Altchunkへの参照(docxパッケージに個別に保存されています)にすぎません。もちろん、Docxが開かれ、編集され、保存されると、Altchunk部品が削除され、内容がdocument.xmlに適切に埋め込まれます。しかし、私はそのプログラムでその方法を知りませんので、それは役に立ちません。

私が検討した他のオプション:

  1. XHTMLを各画像間で区切ってセグメントに分割し、各AltChunk 1を1つずつ追加し、それぞれの間に適切な画像参照を追加します。 (退屈ですが、可能と思われます)
  2. 画像をメディアフォルダーに挿入し、wordprocessingMlをXHTMLに直接埋め込み、 <img> パッケージ化された画像ファイルを参照してください。 (せいぜい疑わしい)誰かがより良いアプローチを考えることができますか?
役に立ちましたか?

解決

まあ、私は自分の問題を解決しました。ドキュメントをMHTML(ファイルに直接埋め込んだ画像を含めることができる)に変換し、AltChunkを使用して最終的なDocxファイルを作成することにしました。しかし、私はまだファイルでいくつかの後処理をやりたかった(単語文書にエンドノートを挿入するため)が、上記のように、これはまで不可能です AltchunkはDocxに変換されましたが、これはプログラムで行うことはできません。

そのため、Altchunkパスを完全にバイパスし、XHTMLからDocxまでの「ゲートウェイ」としてMHTMLを単に使用できることがわかりました。 XHTMLをMHTMLに変換しました。 Endnotesは、.doc拡張子でファイルを変更しました。結果のドキュメントは、単語で直接開くことができます(そして、後続の保存でより適切に変換されます)。これまでのところ、それはうまく機能します(MacのバージョンのWordとWord2003にはいくつかのバグがありますが)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top