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

标签 java xslt xsl-fo jaxp apache-fop

我使用旧的 fop lib 版本 0.20.5

我有一个 xsl:fo

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

       Page number :<fo:page-number />

</fo:block>

这是在页脚

我需要创建一个初始数字 > 1 的 PDF,例如。 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);似乎不起作用!

我怎样才能完成这项工作?

感谢您的建议!

罗伯托

最佳答案

旧版本的 FOP 不支持初始页码吗?这就是您通常实现此目的的方式。 ...您甚至可以通过传入的参数在转换过程中设置该数字。

关于java - 在 pdf 页脚中写入页面计数器,但传递给渲染起始编号(第一页不是 1 且 > 1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32441120/

相关文章:

html - 在 xsl-fo/fop 中嵌入 HTML 段落

java - 在 Apache FOP 中将文本覆盖在图像上

JavaFX8.我是否必须为每个 FXMLLoader 设置资源包?

java - 如何在Java中通过流添加字符串

java - 使用 runClasses(),如果测试类是公共(public)的,JUnit 测试在超时后不会关闭

java - 从随机访问文件中读取数据

xml - XSLT 1.0 : How can I format a paragraph over multiple lines whilst keeping a token intact?

xslt - 一些正确的 XPath 表达式无法按预期工作

XSLT:平面 XML 到嵌套 HTML 列表

xml - 使用 FOP 在生成的 PDF 中保留空格