2012-04-29 45 views
10

我有要使用XSL:FO转换为PDF的MIME多部件数据。我很舒服reading MIME使用Apache James,我掌握了Mime中的embedded image data或HTML中的inline images。我努力地搜索了"[xsl-fo] inline graphic""[xsl] +html +mime +image",并发现了某种程度上的the oppositeprecurser我在做什么。另外Google on "convert HTML MIME to XSL:FO"是没有定论。XSL中的内联图像数据:FO/Apache FOP

我想要做的是具有渲染图形(JPG/PNG/GIF - 全部或其中的一些)的元素(或一组元素)什么在XSL的PDF输出:FO改造。图形数据应作为Base64(或其他)编码数据包含在内的。我发现如何指向external graphics,但没有关于嵌入式图形数据。

这将如何工作?

回答

25

元素fo:external-graphic也可以用来嵌入内联数据。只需使用以下语法:

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

<DATA>应与JPEG图像您的base64数据串来代替。

+0

非常好,谢谢! – stwissel 2012-05-02 06:38:31

+0

@Martin,你能指出一些参考文档,这里解释了这个吗?根据XSL规范,'src'属性的值应该是“uri-specification”('src = url(...)')。 – mzjn 2012-05-04 10:56:22

+1

@mzjn:你说得对。我应该用'url()'包装src'value以符合标准。因为我主要使用接受速记形式的FOP,所以我没有想到显式的'url()'构造。我会相应地编辑答案。 – Martin 2012-05-04 11:48:28