2012-04-29 20 views
10

XSL:FOを使用してPDFに変換するMIMEマルチパートデータがあります。私はreading MIMEApache Jamesを使用して快適で、私はembedded image data(Mime)またはinline images(HTML)を把握しています。私は徹底的にSOを検索して"[xsl-fo] inline graphic""[xsl] +html +mime +image"となり、何とかthe oppositeprecurserということがわかりました。またGoogle on "convert HTML MIME to XSL:FO"は決定的ではなかった。XSLでのインライン画像データ:FO/Apache FOP

私がしたいことは、XSL:FO変換のPDF出力でグラフィック(JPG/PNG/GIF - すべてまたは一部)をレンダリングする要素(または要素のセット)を持つことです。グラフィックデータはの中に含まれていなければなりません .foファイルはBase64(または他の方法で)エンコードされたデータとして含まれていなければなりません。 external graphicsを指す方法を見つけましたが、埋め込まれたグラフィックデータについては何も見つかりませんでした。

どのように機能しますか?

答えて

25

要素fo:external-graphicを使用して、インラインデータも埋め込むことができます。ただ、次の構文を使用します。

<fo:external-graphic src="url('data:image/jpeg;base64,<DATA>')"/> 

<DATA>をJPEG画像のあなたのbase64データ列に置き換える必要があります。

+0

優秀、ありがとうございます! – stwissel

+0

@Martin、これが説明されている参考資料を参照できますか? XSL仕様によれば、 'src'属性の値は" uri-specification "(' src = url(...) ')でなければなりません。 – mzjn

+1

@mzjn:そうです。私は標準に準拠するために 'url()'で 'src'valueをラップするべきでした。私は主に省略形を受け入れるFOPを使っているので、明示的な 'url()'構造については考えていませんでした。私はそれに応じて答えを編集します。 – Martin

関連する問題