我在表格列中使用图像作为背景时遇到问题。我需要将图像作为pdf中每页的背景。
图像正在显示但似乎放大了。它的尺寸是宽度:2487px,高度:3516px(宽度:21.06cm,高度:29.77cm)。
这是我的代码:
<xsl:template name="template-body">
<fo:block backgorund-color="yellow">
<fo:table>
<fo:table-column background-image="image.jpg"/>
<fo:table-body>
<fo:table-row height="29.7cm">
<fo:table-cell>
<fo:block color="white">
SOME TEXT INSIDE THE IMAGE
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
</xsl:template>
此代码生成:
但我需要这个:
我还尝试将图像作为<fo:region-body>
的背景,但我遇到了同样的问题。我想我需要一些方法来指定图像的宽度和高度。
有任何帮助吗?提前谢谢。
答案 0 :(得分:2)
由于您使用FOP,我认为没有规定缩放背景图像以适应。这将是XSL FO规范的扩展。
RenderX XEP支持此功能(http://www.renderx.com/reference.html#Background_Image)。
目前还不清楚你是否真的想要桌面背后的图像(并且你有其他内容),或者你实际上想要整个页面背后的图像。
您可以将图像放在绝对定位的块容器中,并使用内容宽度和内容高度来缩放,但这不会仅对表重复。这适用于页面。如果它只是表格,您可能需要调整实际图像的大小才能正确拟合。