如何在 XSL-FO 中的块内收缩 multi "external-graphic"

How to shrink multi "external-graphic" inside block in XSL-FO

我在块容器中创建了一个块。而在块内部,动态的外部图形数量很少。我希望图像的宽度不应超过块容器的宽度。

        <fo:block-container width="90mm" display-align="center" text-align="center" margin-bottom="1mm">
            <fo:block line-height="0mm">
                <fo:external-graphic src="..."
                                     content-width="scale-down-to-fit" content-height="scale-down-to-fit"
                                     display-align="center" text-align="center"/>
                <fo:external-graphic src="..."
                                     content-width="scale-down-to-fit" content-height="scale-down-to-fit"
                                     display-align="center" text-align="center"/>
            </fo:block>
        </fo:block-container>

我会说添加 content-width="scale-down-to-fit",但你已经有了。

您可以尝试删除 content-height 属性,因为 fo:block-container 的高度不固定。

您也可以尝试删除 content-widthcontent-height 并添加 max-width="100%"(参见 https://www.w3.org/TR/xsl11/#max-width)。

在我的例子中,诀窍是结合 content-height="scale-to-fit" 和 max-width="100%"。当我删除其中一个(无论是哪个)时,图像超出了范围。

<fo:external-graphic src="..." content-height="scale-to-fit" max-width="100%" />