XSL-FO:在页面序列中调用xsl-template?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XSL-FO:在页面序列中调用xsl-template?相关的知识,希望对你有一定的参考价值。

我的xsl-template在页面序列中调用,它包含一个静态头。模板包含一个margin-top =“30mm”的块。我的问题是边缘顶部仅应用于第一页。我想在页面序列的所有页面中具有相同的边距(30毫米)...

在第一页之后的页面中,statis内容和模板溢出块...

有人可以指导我解决这个问题。

<fo:page-sequence master-reference="simpleA5">
                <fo:static-content flow-name="xsl-region-before">
                    <fo:block-container width="297mm" height="25mm"
                        background-color="#DCDCDC">

                        <fo:block margin-left="5mm" margin-top="5mm"
                            margin-right="2mm">
                            <fo:table>
                                <fo:table-column column-width="35mm" />
                                <fo:table-column column-width="25mm" />
                                <fo:table-column column-width="40mm" />
                                <fo:table-column column-width="40mm" />
                                <fo:table-column column-width="50mm" />
                                <fo:table-column column-width="25mm" />
                                <fo:table-column column-width="70mm" />
                                <fo:table-body>
                                    <fo:table-row>
                                        <fo:table-cell>
                                            <fo:block>
                                                <fo:leader leader-length="3.5cm" leader-pattern="rule"
                                                    rule-style="solid" rule-thickness="0.06cm" />
                                                <fo:block>
                                                    <fo:inline font-size="10pt">
                                                        Réconcilation
                                                        comptable
                                                    </fo:inline>
                                                </fo:block>
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell>
                                            <fo:block>
                                                <fo:leader leader-length="2cm" leader-pattern="rule"
                                                    rule-style="solid" rule-thickness="0.06cm" />
                                                <fo:block>
                                                    <fo:inline font-size="10pt">
                                                        Annexes
                                                    </fo:inline>
                                                </fo:block>
                                            </fo:block>
                                        </fo:table-cell>
                                    </fo:table-row>
                                </fo:table-body>
                            </fo:table>
                        </fo:block>
                    </fo:block-container>
                </fo:static-content>
                <fo:flow flow-name="xsl-region-body" border-collapse="collapse"
                    reference-orientation="0">
                    <xsl:call-template name="ResultTech" />

                </fo:flow>
            </fo:page-sequence>

模板是这样的。

<xsl:template name='ResultTech'>
        <fo:block page-break-before="always" margin-top="30mm"
            ........
        </fo:block>
</xsl:template>
答案

把边距放在fo:region-body上,而不是在fo:block上。

有关如何使用XSL-FO的指南,请参阅https://www.antennahouse.com/antenna1/comprehensive-xsl-fo-tutorials-and-samples-collection/上的“Comprehensive XSL-FO Tutorials and Samples Collection”和https://www.antennahouse.com/antenna1/xml-to-xsl-fo-stylesheets/上的“如何为XML转换为XSL-FO转换的样式表”。

以上是关于XSL-FO:在页面序列中调用xsl-template?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 xsl-fo 中的每个页面添加页眉和页脚以生成 pdf

天线屋 XSL-FO 扩展不工作?

XSL-FO 后备箱。长文本流入相邻的单元格/块,掩盖那里的东西

XSL-FO 忽略最后一个分页符但是如何?

如何将带有嵌入图像的 XHTML+CSS 转换为 XSL-FO?

试图在 XSL-FO 中插入空白页