使用文本作为背景
Using text as background
我正在使用此代码向我的文件添加图像背景:
<fo:block-container absolute-position="absolute"
top="-1cm" left="-3cm" width="26cm" height="29.7cm"
background-image="Pictures/afbeelding.png">
<fo:block/>
</fo:block-container>
这段代码工作正常。我现在想尝试一些新的东西。
是否也可以添加字符串作为背景?
我也可以确定字符串的位置吗?
我希望这个字符串从左上角到右下角对角定位。
我已经搜索了解决方案,但没有找到。
是的,您可以使用文本作为背景。要确保背景文本呈现为背景,而不是在正文文本之上:
- 将文本放在
static-content
个框架之一中
- 使用
block-container
和 absolute-position
将容器放在主体框架下方
<fo:static-content flow-name="inside">
<fo:block-container width="170mm" absolute-position="absolute" top="100mm" left="20mm">
<fo:block text-align="center" font-size="45pt" font-weight="bold" axf:transform="rotate(-45deg)">
<xsl:text>Watermark text</xsl:text>
</fo:block>
</fo:block-container>
</fo:static-content>
- 在您的
fo:simple-page-master
中,区域的顺序决定了哪些内容呈现在顶部。区域按顺序处理,后面的区域将绘制在前面的区域之上。将 region-body
放在列表的最后,它将被绘制在所有其他元素之上:
<fo:simple-page-master master-name="odd">
<fo:region-before/>
<fo:region-after/>
<fo:region-start/>
<fo:region-end/>
<fo:region-body/>
</fo:simple-page-master>
如果您使用 Antennahouse,您可以将 fo:block 旋转到对角线方向:axf:transform="rotate(-45deg)"
与将文本放在 SVG 元素中相比,使用这种方法的优势在于:在 SVG 中,文本不能跨越一行以上。每一行都必须成为一个单独的 SVG 元素,并且您必须手动拆分文本。使用我的方法,文本以 fo:block 结尾,它支持换行符、连字符等。
我正在使用此代码向我的文件添加图像背景:
<fo:block-container absolute-position="absolute"
top="-1cm" left="-3cm" width="26cm" height="29.7cm"
background-image="Pictures/afbeelding.png">
<fo:block/>
</fo:block-container>
这段代码工作正常。我现在想尝试一些新的东西。
是否也可以添加字符串作为背景? 我也可以确定字符串的位置吗? 我希望这个字符串从左上角到右下角对角定位。
我已经搜索了解决方案,但没有找到。
是的,您可以使用文本作为背景。要确保背景文本呈现为背景,而不是在正文文本之上:
- 将文本放在
static-content
个框架之一中 - 使用
block-container
和absolute-position
将容器放在主体框架下方
<fo:static-content flow-name="inside">
<fo:block-container width="170mm" absolute-position="absolute" top="100mm" left="20mm">
<fo:block text-align="center" font-size="45pt" font-weight="bold" axf:transform="rotate(-45deg)">
<xsl:text>Watermark text</xsl:text>
</fo:block>
</fo:block-container>
</fo:static-content>
- 在您的
fo:simple-page-master
中,区域的顺序决定了哪些内容呈现在顶部。区域按顺序处理,后面的区域将绘制在前面的区域之上。将region-body
放在列表的最后,它将被绘制在所有其他元素之上:
<fo:simple-page-master master-name="odd">
<fo:region-before/>
<fo:region-after/>
<fo:region-start/>
<fo:region-end/>
<fo:region-body/>
</fo:simple-page-master>
如果您使用 Antennahouse,您可以将 fo:block 旋转到对角线方向:axf:transform="rotate(-45deg)"
与将文本放在 SVG 元素中相比,使用这种方法的优势在于:在 SVG 中,文本不能跨越一行以上。每一行都必须成为一个单独的 SVG 元素,并且您必须手动拆分文本。使用我的方法,文本以 fo:block 结尾,它支持换行符、连字符等。