On 6/25/24 13:24, Frank Erlbacher wrote:
I'd like to get my footer as close as possible to the lower bound of the
page. Therefore I set the margin-bottom to 0. But it doesn't work. In my
rendered RTF-Result the distance between my footer row and the lower
bound is round about 1.5cm.
If I render it with apache fop to PDF, all is fine.
<fo:layout-master-set>
<fo:simple-page-master margin-left="2.499431cm" master-name="spm37"
page-height="29.7004cm" margin-top="1.25cm" *margin-bottom="0cm*"
page-width="21.0009cm" margin-right="2.499431cm">
<fo:region-body margin-top="1.25cm" margin-bottom="2cm"/>
<fo:region-after extent="2cm" overflow="visible"
display-align="after" precedence="true"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="spm37" language="de" hyphenate="false">
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="11pt" language="de" line-height="12.65pt"
font-family="Calibri" orphans="2" widows="2">That is my footer</fo:block>
</fo:static-content>
...
How can I fix this problem?
Unlike Apache FOP, XMLmind XSL-FO Converter (XFC for short) has no way
to really support the margins of fo:simple-page-master and fo:region-body.
Therefore, XFC merely translates these XSL-FO margins to what is
supported by the RTF format, that is, the top margin of the page and the
bottom margin of the page.
In order to do that, XFC ADDS fo:simple-page-master/@margin-top and
fo:region-body/@margin-top to specify the RTF top margin of the page. It
adds fo:simple-page-master/@margin-bottom and
fo:region-body/@margin-bottom to specify the RTF bottom margin of the page.
Therefore, what follows should give you the results you want:
---
<fo:simple-page-master margin-left="2.499431cm" master-name="spm37"
page-height="29.7004cm" margin-top="1.25cm" margin-bottom="0cm"
page-width="21.0009cm" margin-right="2.499431cm">
<fo:region-body margin-top="1.25cm" margin-bottom="0cm"/>
<fo:region-after extent="2cm" overflow="visible"
display-align="after" precedence="true"/>
</fo:simple-page-master>
---
Unfortunately, when investigating this issue, I've found a bug which,
for now, prevents you from specifying margin-bottom="0cm" twice.
The workwaround is to specify a very small value, e.g.
margin-bottom="0.05cm", like below (attached .fo file):
---
<fo:simple-page-master margin-left="2.499431cm" master-name="spm37"
page-height="29.7004cm" margin-top="1.25cm" margin-bottom="0.05cm"
page-width="21.0009cm" margin-right="2.499431cm">
<fo:region-body margin-top="1.25cm" margin-bottom="0.05cm"/>
<fo:region-after extent="2cm" overflow="visible"
display-align="after" precedence="true"/>
</fo:simple-page-master>
---
This should give you the results very close to what you want. See
attached screenshot.
<?xml version="1.0" encoding="UTF-8" ?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master margin-left="2.499431cm" master-name="spm37" page-height="29.7004cm" margin-top="1.25cm" margin-bottom="0.05cm" page-width="21.0009cm" margin-right="2.499431cm">
<fo:region-body margin-top="1.25cm" margin-bottom="0.05cm"/>
<fo:region-after extent="2cm" overflow="visible" display-align="after" precedence="true"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="spm37" language="de" hyphenate="false">
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="11pt" language="de" line-height="12.65pt" font-family="Calibri" orphans="2" widows="2">That is my footer</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block white-space-collapse="false" white-space-treatment="preserve" space-after="0.28cm" font-size="11pt" line-height="13.65pt" language="de" font-family="Calibri"> </fo:block>
<fo:block space-after="0.28cm" font-size="11pt" line-height="13.65pt" language="de" font-family="Calibri" orphans="2" widows="2">Last Row</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
--
XMLmind FO Converter Support List
[email protected]
http://www.xmlmind.com/mailman/listinfo/xfc-support