reader.getNumberOfPages() 总是打印零

reader.getNumberOfPages() is always printing zero

我正在尝试通过 iText API、PDF Reader 阅读 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

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

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

您不会在 i < number_of_pages 之后的任何地方增加 i 的值。 应该是这样的。

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

给你,完整的代码在这里我正在使用。

PdfReader reader = new PdfReader(
            "C:/anil/code/Whosebug/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");
}