1

ドキュメントの管理にLibreOffice4とJavaUnoAPIを使用しています。

Java Uno APIを介してimgタグ付きのHTMLドキュメントをLibreOfficeにインポートし、ドキュメントを他の形式(odt、docx、doc、rtfなど)で保存している状況があります。

問題は、LibreOfficeがimgタグをリンク付きのグラフィックオブジェクト(ドキュメントに埋め込まれていない)に変換することです。

html base64を使おうとしていましたが、LibreOfficeはそれをサポートしていないようです。

次に、これらのリンクされたグラフィックオブジェクトを埋め込みグラフィックオブジェクトに変換します。
XTextGraphicObjectsSupplierを介して画像を反復処理することはできますが、これらのオブジェクトを埋め込む方法がわかりません。

出来ますか?

たぶん、html imgタグに魔法の属性を作成することは可能であり、LibreOfficeはそれを埋め込みますか?

4

1 に答える 1

1

libre /openofficeはこのオプションをサポートしていないようです。埋め込まれた画像を削除して再度挿入するのが唯一の方法ですが、フォーマット(サイズなど)に注意する必要があります。私はこれらのステップを実行することによって私の目標を達成しました(それはハックであると警告してください...):

  1. HTMLをodtに保存します。このodtでは、グラフィックはディスク上のファイルにリンクされています。
  2. odtファイルを解凍します。
  3. Pictures解凍したディレクトリにディレクトリを作成し、そこにすべての画像を移動します。
  4. content.xmlシステムファイルへのパスを編集して、に置き換えますPictures/file-name
  5. 編集META-INF/manifest.xmlとこのようなもの<manifest:file-entry manifest:media-type="image/png" manifest:full-path="Pictures/file-name"/>
  6. フォルダを圧縮し、拡張子をodtに変更します。
  7. Libre / Open Office JavaUnoAPIを介してodtファイルを読み取ります。これで、このドキュメントにグラフィックオブジェクトが埋め込まれました。
于 2013-03-18T09:19:56.440 に答える