Reputation: 23
So I have this case: I am using antenna house for generating pdf from xml/xsl. The problem is that the generated pdf contains multiple N documents with X pages each. When printed if a document ends on odd page, a blank page must be inserted at the end of the document, so the next document starts on a new sheet. To do so I am using: force-page-count="end-on-even", but the blank page that is inserted has a page number, which I don't want to be shown, as there is no content on the page. Here is the xsl part:
<xsl:template match="document">
<fo:page-sequence master-reference="myDoc" initial-page-number="1" force-page-count="end-on-even" >
<fo:static-content flow-name="xsl-region-after" font-size="8pt" font-family="Arial" >
<fo:block>
<fo:block text-align="right" margin-right="10mm">
<fo:inline text-align="right">
Page: <fo:page-number /> of <fo:page-number-citation-last ref-id="{generate-id(.)}"/>
</fo:inline>
</fo:block>
<xsl:variable name="footervar" select=".//footertxt" /> <!-- Gets text betwen <footertxt> tags in XML file -->
<fo:block text-align="left" margin-left="15mm">
<fo:inline>
<xsl:value-of select="$footervar" />
</fo:inline>
</fo:block>
</fo:block>
</fo:static-content>
</fo:page-sequence>
</xsl:template>
And the xml part looks like this:
<document>
<footertxt> </footertxt>
<section>
<paragraf>1</paragraf>
</section>
</document>
<document>
<footertxt> </footertxt>
<section>
<paragraf>2</paragraf>
</section>
<pagebreak />
<section>
<paragraf>3</paragraf>
</section>
</document>
Any ideas how to remove the page number from the blank pages? Thanks
Upvotes: 1
Views: 2911
Reputation: 8068
You can set up an fo:page-sequence-master
(https://www.w3.org/TR/xsl11/#fo_page-sequence-master) that contains an fo:repeatable-page-master-alternatives
(https://www.w3.org/TR/xsl11/#fo_repeatable-page-master-alternatives) containing multiple fo:conditional-page-master-reference
(https://www.w3.org/TR/xsl11/#fo_conditional-page-master-reference). The first fo:conditional-page-master-reference
can have blank-or-not-blank="blank"
and refer to an fo:simple-page-master
that does not have an fo:xsl-region-after
.
More simply, you could do something like:
<fo:simple-page-master master-name="BlankPage"
page-height="265mm"
page-width="215mm">
<fo:region-body region-name="blank" />
</fo:simple-page-master>
...
<fo:page-sequence-master master-name="myDoc">
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference master-reference="BlankPage"
blank-or-not-blank="blank" />
<fo:conditional-page-master-reference master-reference="OddPage"
odd-or-even="odd" />
<fo:conditional-page-master-reference master-reference="EvenPage"
odd-or-even="even" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
Upvotes: 2