在pdf页脚中写入页面计数器,但传递给渲染起始编号(第一页不是1和> 1)

时间:2015-09-07 14:34:29

标签: java xslt xsl-fo jaxp apache-fop

我使用旧的fop lib版本0.20.5

我有一个xsl:fo with

<fo:block text-align="end">

       Page number :<fo:page-number />

</fo:block>

这是在页脚

我需要创建一个初始编号为&gt;的PDF 1和前。 10或11或其他一些..

所以第一页以10开头,第二页以11开头等等。

我需要将这个数字作为参数从jsp网页传递给调用fop渲染的bean / java类

我实现了一个CustomRender(它实现了类org.apache.fop.render.Renderer)

并且我重写了两个方法:

public void render(Page page, OutputStream outputStream){
throws IOException, FOPException {
   page.setNumber(pageCount);
System.out.println("##@@## Rendering page " + page.getNumber());
pageCount++;
renderer.render(page, outputStream);
}



public void renderPage(Page page){
page.setNumber(pageCount);
System.out.println("@@##@@ Rendering page " + page.getNumber());
pageCount++;
renderer.renderPage(page);
}

但是page.setNumber(pageCount);似乎不起作用!

我该怎么做才能做到这一点?

感谢您的建议!

罗伯特

1 个答案:

答案 0 :(得分:1)

那个旧版本的FOP不支持initial-page-number吗?这就是你通常如何实现这一点。 &lt; fo:page-sequence initial-page-number =&#34; 10&#34;&gt; ...你甚至可以通过传入的参数在变换过程中设置该数字。