【发布时间】:2014-09-29 10:18:52
【问题描述】:
我有一个文档,我想在奇数页上放置文本,并在偶数页上放置附图。 我的页面定义如下所示:
<fo:simple-page-master master-name="page_even" page-height="210mm" page-width="297mm" margin="{$page-margin}">
<fo:region-body region-name="body" margin-top="190mm" margin-bottom="20mm" margin-left="200mm" margin-right="97mm"/>
<fo:region-before region-name="header-even" extent="190mm" precedence="true"/>
<fo:region-after region-name="footer-even" extent="20mm" precedence="true"/>
<fo:region-start region-name="outside" extent="15mm"/>
<fo:region-end region-name="inside" extent="15mm"/>
</fo:simple-page-master>
<fo:simple-page-master master-name="page_odd" page-height="210mm" page-width="297mm" margin="{$page-margin}">
<fo:region-body region-name="body" margin-top="20mm" margin-bottom="20mm" margin-left="15mm" margin-right="15mm" padding="0pt"/>
<fo:region-before region-name="header-odd" extent="20mm" precedence="true"/>
<fo:region-after region-name="footer-odd" extent="{20mm" precedence="true"/>
<fo:region-start region-name="inside" extent="15mm"/>
<fo:region-end region-name="outside" extent="15mm"/>
</fo:simple-page-master>
所以在偶数页上,我有一个非常大的标题,我将在其中放置绘图。正文区域的高度为 0 毫米,宽度为 0 毫米,因此该区域中不应包含任何文本,并且应自动转到下一页。
文本由放置在表格中的一些数据组成(宽 17 厘米,高 1.5 厘米)。在奇数页上,大约有 10 个表格适合,第 11 个被移动到下一个可用页面。到现在为止还挺好。
我的 XML 由这样的数据块组成:
<data id="3" name="blah" drawing="xyz">
我使用标记来提取“绘图”属性的内容。偶数页页眉指的是这个标记,所以偶数页减慢了奇数页第一个数据块中列出的绘图。
渲染器(Antennahouse)仍然在每个偶数页上放置一个表格。表格放置在页脚顶部,与页脚文本重叠。该表比它所在的区域大,所以它应该被移动到下一页,但是这个逻辑在这里失败了。 有一个“重叠”属性,但这没有我需要的效果:没有办法指定“根本不重叠”,只是处理重叠的方法。
【问题讨论】:
-
我想看看更多的设置和内容。偶数页上的图像是静态的(相同的)还是变化的?您打算如何每隔一页更改图像?标记?我个人认为,也许您可以将“图像”放入不适合页面的脚注中,这样它就会自动转到下一页(并填充它)。
-
我还要评论说,拥有“0”大小的正文区域的页面可能无法满足您“希望”的期望。我需要挖掘规范,但我相信没有正文内容的页面可能会被渲染引擎折叠。例如,如果我的流程中的第一个块将“page-break-before”设置为“always”,您仍然(应该)不会得到第一个空白页。
-
如果空白页面被折叠,我会感到惊讶。我通过放置具有“page-break-before=always”属性的空块来制作没有正文内容的页面(例如,在章节末尾强制放置几个空页面),这总是按预期工作。
-
使用脚注是行不通的:在某些情况下,我必须重复绘图。我可以拥有一个或 60 个数据块,它们都引用同一张图
标签: xsl-fo