繁体   English   中英

xsl-fo文件第一页的不同标题,而不是每章

[英]xsl-fo different header for first page of document, not each chapter

我正在使用XSL-fo从DITA书签输出到PDF,我想要一个独特的标题出现在文档的第一页,但不是在每章的第一页。 我已经尝试使用conditional-page-master-reference元素的page-position属性,但这导致我的自定义标题出现在每章的第一页上,而我希望自定义标题只出现一次,在文档的第一页上,文档的每个其他页面上都出现另一个标题,与章节边界无关。

您需要使用page-sequence-master

<fo:page-sequence-master master-name="recto-verso-document">
    <fo:repeatable-page-master-alternatives>
        <fo:conditional-page-master-reference odd-or-even="odd" master-reference="page-odd" blank-or-not-blank="not-blank"/>
        <fo:conditional-page-master-reference blank-or-not-blank="not-blank" odd-or-even="odd" page-position="first" master-reference="last-page-odd"/>
        <fo:conditional-page-master-reference blank-or-not-blank="not-blank" odd-or-even="even" page-position="rest" master-reference="last-page-even"/>
        <fo:conditional-page-master-reference odd-or-even="even" master-reference="page-even" blank-or-not-blank="not-blank"/>
    </fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>

然后,对于每个条件页面主参考,为每个参数定义simple-page-master:

<fo:simple-page-master master-name="first-page-odd" page-height="11in" page-width="8.5in" margin-top="0.5in" margin-left="1.0in" margin-right="0.5in">
        <fo:region-body region-name="xsl-region-body" margin-top="0.80in" margin-bottom=".5in" overflow="auto"/>
        <fo:region-before region-name="xsl-region-before-first" extent="1in"/>
        <fo:region-after region-name="xsl-region-after" extent="0.6in"/>
</fo:simple-page-master>

<fo:simple-page-master master-name="page-odd" page-height="11in" page-width="8.5in" margin-top="0.5in" margin-left="1.0in" margin-right="0.5in">
        <fo:region-body region-name="xsl-region-body" margin-top="0.80in" margin-bottom=".5in" overflow="auto"/>
        <fo:region-before region-name="xsl-region-before" extent="1in"/>
        <fo:region-after region-name="xsl-region-after" extent="0.6in"/>
</fo:simple-page-master>

然后在页面序列中为每个region-name定义区域。 例如:

<fo:static-content flow-name="xsl-region-before-first">
        <fo:block>do something for your header</fo:block>
    </fo:static-content>


 <fo:static-content flow-name="xsl-region-before">
        <fo:block>do something for your header</fo:block>
    </fo:static-content>

没有看到你的FO,这是我能提供的最好的解决方案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM