gpt4 book ai didi

xsl-fo - 当 region-before 存在时,为什么 region-start 从页面顶部开始?

转载 作者:行者123 更新时间:2023-12-04 05:12:45 25 4
gpt4 key购买 nike

根据Formatting Object documentation region-start( body 左侧的区域)跨越 之间 region-before(页眉)和 region-after(页脚),但是当我用 FOP 生成 PDF 时(v1.1) region-start 将从 开始页面顶部 并将将 region-before 推到右侧。

那么,是否有任何属性或任何东西使生成器放置区域开始下面 区域之前?

下面是一些示例代码:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format">

<xsl:template match="/">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="A4-cover"
page-width="210mm" page-height="297mm" margin="12mm">
<fo:region-body margin-top="60mm" margin-left="85mm" />
<fo:region-before extent="55mm" />
<fo:region-start extent="80mm" />
</fo:simple-page-master>
</fo:layout-master-set>

<fo:page-sequence master-reference="A4-cover">
<fo:static-content flow-name="xsl-region-before">
<fo:block background-color="blue">
Before area
</fo:block>
</fo:static-content>

<fo:static-content flow-name="xsl-region-start">
<fo:block background-color="red">
Start area
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">
<fo:block background-color="green">
Body area
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
</xsl:stylesheet>

最佳答案

首先,我认为默认情况下它应该按您的预期工作。

但事实证明,precedence="true"必须设置在 region-before获得想要的行为(防止 region-start 延伸到角落)。见 http://www.w3.org/TR/xsl11/#precedence .

XSL-FO 规范中没有很清楚地说明,但据我所知 precedence仅适用于 region-beforeregion-after .

这是一个讨论该主题的邮件列表线程:http://apache-fop.1065347.n5.nabble.com/page-layout-bug-td8766.html .

关于xsl-fo - 当 region-before 存在时,为什么 region-start 从页面顶部开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14691715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com