【发布时间】:2015-06-14 11:46:47
【问题描述】:
我需要创建一个 2 列的表,由不固定数量的图像填充,每个单元格一个图像,每行两个单元格。我们正在使用 XSL-FO
我有这个 XSL 数据作为 XSL 的输入
<viewList>
<views order="1">data:image/jpg;base64,/9j/4AAQSkZJRg...(base64 data)</views>
<views order="2">data:image/jpg;base64,/9j/4AAQSkZ432...(base64 data)</views>
<views order="3">data:image/jpg;base64,/9j/4AAQSkZdgd...(base64 data)</views>
<views order="4">data:image/jpg;base64,/9j/4AAQSkZ775...(base64 data)</views>
<views order="5">data:image/jpg;base64,/9j/4AAQSk7655...(base64 data)</views>
</viewList>
您可以注意到标签views 的内容是base64 信息,编码图像。我刚刚截断了它们;它们很长。
对于渲染图像,我使用标签fo:external-graphic。所以,我设法在一个表格中绘制所有图像:
<fo:table>
<fo:table-body>
<xsl:for-each select="viewList/views">
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
<fo:external-graphic src="{current()}"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:for-each>
</fo:table-body>
</fo:table>
如你所见;这是无效的;因为它每个单元格都有一个图像...关于如何将它们放在 2 列中的任何想法?
【问题讨论】: