Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用带Java的itext api获取pdf中的额外页数_Java_Pdf_Itext - Fatal编程技术网

使用带Java的itext api获取pdf中的额外页数

使用带Java的itext api获取pdf中的额外页数,java,pdf,itext,Java,Pdf,Itext,我对PDF中的页面计数有问题 假设我们有一个页面数为3的pdf,但在页脚中返回“第1页,共4页”。我们将从Eventer课程中获得4分 Jar:com.lowagie.text-2.1.7.Jar Eventer类:PdfPageEventHelper.java 请阅读官方文档,您会发现您参考的非官方网站上的示例是错误的 在我的书《iText在行动——第二版》的第5章中,你会发现这个例子。如您所见,我们在onCloseDocument()方法中使用writer.getPageNumber()-1

我对PDF中的页面计数有问题

假设我们有一个页面数为3的pdf,但在页脚中返回“第1页,共4页”。我们将从Eventer课程中获得4分

Jar:com.lowagie.text-2.1.7.Jar

Eventer类:PdfPageEventHelper.java


请阅读官方文档,您会发现您参考的非官方网站上的示例是错误的

在我的书《iText在行动——第二版》的第5章中,你会发现这个例子。如您所见,我们在
onCloseDocument()
方法中使用
writer.getPageNumber()-1

public void onCloseDocument(PdfWriter writer, Document document) {
    ColumnText.showTextAligned(total, Element.ALIGN_LEFT,
            new Phrase(String.valueOf(writer.getPageNumber() - 1)),
            2, 2, 0);
}
原因在本书第152页的注释中解释:

注意关闭文档时,将触发
newPage()
方法 在当前页面上执行finilization。调用
newPage()
时,页面 数字是扩充的,所以您需要使用
(writer.getPageNumber()-1)
您想在
onCloseDocument()
方法中添加总页数

public void onCloseDocument(PdfWriter writer, Document document) {
    ColumnText.showTextAligned(total, Element.ALIGN_LEFT,
            new Phrase(String.valueOf(writer.getPageNumber() - 1)),
            2, 2, 0);
}

如果需要其他示例,请查看官方网站上的示例。

iText 2.1.7不再受支持。这些版本从2009年开始,您不应该再使用它。如果您需要参数来说服项目经理升级到更新版本的iText或iTextSharp,请阅读。此外:
PdfPageEventHelper
PdfPageEvents
接口的实现,该接口只包含空方法。因此,您声称“Eventer”类是
PdfPageEventHelper
是错误的。这意味着没有人知道您所说的
Eventer
class是什么意思。没有这样的事情。即使我用了最新的版本也会得到同样的问题。请检查上的剪贴代码是否有任何原因使您更喜欢非官方网站上的(错误)示例而不是官方网站上的(正确)示例?