XSL:FO / Apache FOP 中的内联图像数据
Posted
技术标签:
【中文标题】XSL:FO / Apache FOP 中的内联图像数据【英文标题】:Inline image data in XSL:FO / Apache FOP 【发布时间】:2012-05-09 11:12:40 【问题描述】:我有想要使用 XSL:FO 转换为 PDF 的 MIME 多部分数据。我对 reading MIME 使用 Apache James 很舒服,而且我掌握了 Mime 中的 embedded image data 或 html 中的 inline images。我努力搜索了"[xsl-fo] inline graphic" 和"[xsl] +html +mime +image" 并以某种方式找到了the opposite 和precurser 我在做什么。 Google on "convert HTML MIME to XSL:FO" 也没有定论。
我想要做的是在 XSL:FO 转换的 PDF 输出中使用一个元素(或一组元素)来呈现图形(JPG/PNG/GIF - 全部或部分)。图形数据应作为 Base64(或其他)编码数据包含在 内部 .fo 文件中。我找到了如何指向external graphics,但没有找到关于嵌入式图形数据的方法。
这将如何运作?
【问题讨论】:
【参考方案1】:元素fo:external-graphic
也可用于嵌入内联数据。只需使用以下语法:
<fo:external-graphic src="url('data:image/jpeg;base64,<DATA>')"/>
<DATA>
应替换为您的 JPEG 图像的 base64 数据字符串。
【讨论】:
@Martin,您能否指出一些对此进行解释的参考文档?根据 XSL 规范,src
属性的值应该是“uri-specification”(src=url(...)
)。
@mzjn:你是对的。我应该用url()
包装src
value 以符合标准。由于我主要使用接受速记形式的 FOP,因此我没有考虑明确的 url()
构造。我会相应地编辑答案。以上是关于XSL:FO / Apache FOP 中的内联图像数据的主要内容,如果未能解决你的问题,请参考以下文章
如何覆盖“region-body”为 XSL:FO 中的表设置的边距?