繁体   English   中英

XSL-FO:如何为每个页面重复一个xsl表?

[英]XSL-FO : How do I repeat an xsl table for every page?

我以前通过在xsl-fo的AKA标头部分的region-before中包含表来完成此操作。 但是,这会带来一个问题,因为工作台的高度不是固定的,因此需要动态设置区域主体的边缘顶部。

因此,我需要将其包括在region-body中。 我发现了有关此问题,但它们仅涉及如何重复表头。 就我而言,我需要在每个页面中重复整个表。 可能吗? 如果是这样,我该怎么做?

编辑顺便说一句,我在Xalan上使用FOP

如果将Antenna House或FOP与Saxon 9.5,Xalan或DotNet 4.0 XSLT处理器一起使用,则可以使用来自Print and Page Layout Community Group @ W3C的XSLT扩展来在XSLT的中间运行FO处理器转变。 请参见http://www.w3.org/community/ppl/wiki/XSLTExtensions中的示例

您可以制作一个最小的FO文档以仅显示表格,然后在该文档上运行扩展功能以获取包含格式化表格的区域树。 最后,您将根据格式化表格的高度调整fo:region-body的边距。

如果您没有可以运行扩展功能的XSLT处理器,但是确实有可以产生区域树输出的FO处理器,则可以运行FO处理器一次以获取表的区域树,然后对其进行真实和让XSLT转换使用先前生成的区域树XML来计算表高度和fo:region-body的边距。

将要重复的表放在另一个表的标题中。 该表将是一个单元格宽,并且包含所有正文内容。 由于表位于标题中,因此它将在正文表内容流向的每个页面上重复。 仅当您的内容为一栏内容时,此方法才有效。

暂无
暂无

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

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