使用 Apache FOP 在块中将图形定位在右下角

Position Graphic @ Bottom-Right in a Block using Apache FOP

使用 Apache FOP 我想将 <fo:external-graphic> 放置在固定大小的 <fo:block><fo:block-container> 中。图形应位于块的右下角。我只是不知道如何指定位置。有人有什么想法吗?

现在,如果我只有一张图片,找出将其放置在何处是没有问题的,但我有多张尺寸略有不同的图片,并希望它们(按比例缩放后)在右下角对齐.

在绝望中,我尝试了 <fo:external-graphic allowed-width-scale="150% 50% 25%"/>,根据 w3c,这是一个有效的选项,但 Saxon 抛出了一个 net.sf.saxon.trans.XPathException.

现在,应大众需求,一些 FO:

<fo:block-container position="absolute" top="42mm" left="192mm" width="70mm" background-color="red">
    <fo:block background-color="green">
            <fo:external-graphic border-style="none" content-height="13mm" src="wiki_96dpi_290x81_7673x2143my.jpg" background-color="blue"/>
    </fo:block>
</fo:block-container>

结果如下:

现在,如何让图像在 <fo:block-container> 中右对齐,以便绿色在左边?像这样:

因此,应用 Tony 的解决方案后,结果如下所示:

<xsl:variable name="sign_height">13mm</xsl:variable><!-- Höhe des Unterschrifts -->
    :             :
    :             :
<fo:block-container position="absolute" top="42mm" left="192mm" width="70mm">
    <fo:block text-align="right" max-height="{$sign_height}" font-size="0" background-color="green">
        <fo:external-graphic content-height="{$sign_height}" src="wiki_96dpi_290x81_7673x2143my.jpg" border-style="none"/>
    </fo:block>
</fo:block-container>

请注意 <fo:block> 上的 max-height="..."font-size="0" 如何也摆脱了图像上方和下方的(不需要的)填充。

要使图形右对齐,请将 text-align="right" 添加到 fo:block


要使 fo:block 适合图形,还要添加 max-height="13mm" font-size="0"