如何在 XSL-FO 中缩小块内的多个“外部图形”

Posted

技术标签:

【中文标题】如何在 XSL-FO 中缩小块内的多个“外部图形”【英文标题】:How to shrink multi "external-graphic" inside block in XSL-FO 【发布时间】:2019-12-13 17:03:45 【问题描述】:

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

        <fo:block-container  display-align="center" text-align="center" margin-bottom="1mm">
            <fo:block line->
                <fo:external-graphic src="..."
                                     content- content-
                                     display-align="center" text-align="center"/>
                <fo:external-graphic src="..."
                                     content- content-
                                     display-align="center" text-align="center"/>
            </fo:block>
        </fo:block-container>

【问题讨论】:

您能否提供有问题的 XSL-FO 样本? 我已经更新了代码。 【参考方案1】:

我会说添加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)。

【讨论】:

【参考方案2】:

在我的例子中,诀窍是结合 content- 和 max-。当我删除其中一个(无论其中哪一个)时,图像超出了。

<fo:external-graphic src="..." content- max- />

【讨论】:

以上是关于如何在 XSL-FO 中缩小块内的多个“外部图形”的主要内容,如果未能解决你的问题,请参考以下文章

如何等待Jenkinsfile“并行”块内的所有执行程序?

如何在 plsql 块内的 SELECT 语句中传递不同的变量值

如何使用 Google Vision Api 检测块内的所有文本

如何使文本输入框占据父块内的所有剩余宽度?

在c ++中声明if块内的变量

catch 块内的 PHPUnit 测试代码