reader.getNumberOfPages()始终打印为零

时间:2016-02-26 07:01:15

标签: java pdf itext

我正在尝试通过iText API,PDF阅读器阅读PDF。当我尝试在我的控制台中打印页数时,即使我的PDF有10页并且所有10页都有一些内容(它们不是空白的),我总是得到零。下面是我使用的代码片段和控制台输出。

请帮我解决这个问题,

public static void main(String[] args) {
    try {
        PdfReader reader = new PdfReader("D:\\JEE(Main)_AcknowledgementPage (1).pdf");
        int number_of_pages = reader.getNumberOfPages();
        System.out.println("Number of pages is ...."+number_of_pages);
        for (int i = 0; i < number_of_pages;) {
            System.out.println("Inside for loop");
        }
    } catch (Exception i) {
        System.out.println(i);
    }
}

我的控制台输出:

    Number of pages is ....0

1 个答案:

答案 0 :(得分:1)

您使用的是正确的API。它为我返回了正确的页数。 但是你的for循环是错误的

for (int i = 0; i < number_of_pages;) {
            System.out.println("Inside for loop");
        }

在i&lt;之后,你没有增加i的价值。页数。 它应该是这样的。

for (int i = 0; i < number_of_pages; i++) {
        System.out.println("Inside for loop");
    }

在这里,完整的代码就在我正在使用的地方。

PdfReader reader = new PdfReader(
            "C:/anil/code/StackOverFlow/res/mySample.pdf");
int number_of_pages = reader.getNumberOfPages();
System.out.println("Number of pages is ...."+number_of_pages);
for (int i = 0; i < number_of_pages; i++) {
        System.out.println("Inside for loop");
}