[英]Unable to set initial page number in XSL-FO
我对 XSL-FO 处理页码的方式有疑问。 在我的应用程序中,我使用 Apache FOP 将 XML 转换为 PNG 内容。 然后将此 PNG 内容“附加”到来自 TIFF 文件的内容以创建单个连续文档的外观。 我们的要求之一是向 PNG 内容添加页码。 然而,问题是页面编号需要按顺序开始,即如果有 2 页 TIFF 内容,第一个 PNG 页将是第 3 页。
计算 TIFF 内容的页数很容易,我将其作为参数传递给转换器。
// setup XSLT
TransformerFactory factory = javax.xml.transform.TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(new StreamSource(xslFile));
transformer.setParameter("tiffPgOffset", getTiffPgOffset());
并且我将该参数添加到我的 XSL 文件中以处理页面偏移计数。
<xsl:param name="tiffPgOffset" />
我可以很好地访问页面内的参数值。
<fo:static-content flow-name="xsl-region-after" font-family="Arial">
<fo:block font-size="16">Page
tiffPgOffset = <xsl:value-of select="$tiffPgOffset" /> <!-- it works here -->
</fo:block>
</fo:static-content>
当我想将参数值传递给页面序列对象时会出现问题。 鉴于我所阅读的内容,我认为这应该有效:
<fo:page-sequence master-reference="main" initial-page-label="$tiffPgOffset"> <!-- this does not work -->
但事实并非如此。 相反,我收到以下运行时错误:
Invalid property encountered on "fo:page-sequence": initial-page-label (No context info available)
我不确定我做错了什么,但我希望这对有更多经验的人来说会很明显。 提前致谢。
尝试在initial-page-number
属性中使用AVT :
initial-page-number="{$tiffPgOffset}"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.