在XSL-FO中有没有一种方法可以定义单个页面布局?这意味着所有内容都应该在一个页面上。基本上,页面应该和内容一样长,这是动态的。
我使用的是Apache FOP。
任何帮助都将不胜感激。
发布于 2021-01-20 03:51:24
您需要支持page-height="indefinite"的格式化程序。(参见https://www.w3.org/TR/xsl11/#page-height)
我不知道任何支持page-height="indefinite"的格式化程序。AH格式化程序不支持(https://www.antenna.co.jp/AHF/help/v70e/ahf-fo11.html#page-height)。FOP说‘还没有’(https://xmlgraphics.apache.org/fop/compliance.html#fo-property-page-height)。RenderX没有限定他们对page-height的支持,所以他们可能会(http://www.renderx.com/reference.html)。
发布于 2021-01-20 17:26:47
您可以使用打印和页面布局社区组(http://www.w3.org/community/ppl/)中的XSLTExtensions (https://github.com/pplcg/XSLTExtensions、https://www.w3.org/community/ppl/wiki/XSLTExtensions)。
在生成XSL-FO的单个XSLT转换中,您可以:
然后格式化输出的XSL-FO。
最简单的方法可能是将所有内容放在一个具有已知ID的fo:block中,这样就可以很容易地通过获取块的高度来获取内容的高度。
我已经有一段时间没有使用这些扩展了,但这是一般的想法。
https://stackoverflow.com/questions/65794101
复制相似问题