Подтвердить что ты не робот

Определите количество страниц в файле PDF

Как определить количество страниц в данном PDF файле, используя бесплатный API-интерфейс с открытым исходным кодом?

4b9b3361

Ответ 1

Вы можете использовать Apache PDFBox для загрузки PDF-документа, а затем вызвать getNumberOfPages для возврата количества страниц.

PDDocument doc = PDDocument.load(new File("file.pdf"));
int count = doc.getNumberOfPages();

Ответ 2

Вы должны быть в состоянии сделать это с iText. Посмотрите эту ветку, чтобы узнать, как решить проблему. Вот глава 2, которая неправильно связана в теме:

PdfReader reader = new PdfReader("SimpleRegistrationForm.pdf");
int pages = reader.getNumberOfPages();

Ответ 4

Если вы создаете PDF с помощью FOP, вы можете использовать http://xmlgraphics.apache.org/fop/

Вы можете подсчитывать страницы с помощью тегов fop.

Если это просто простой pdf файл из внешнего источника, вам следует проверить iText API.

Ответ 5

Если вы хотите получить больше информации о PDF, используйте код ниже. Если документ не содержит никакой информации, он возвращает ноль. Это pdfbox библиотека apache.

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDDocumentInformation;

public class DocumentService {

    public void showDocumentInfo(){
        PDDocument document= PDDocument.load(new File("file.pdf"));
        PDDocumentInformation info = document.getDocumentInformation();
        System.out.println( "Page Count=" + document.getNumberOfPages() );
        System.out.println( "Title=" + info.getTitle() );
        System.out.println( "Author=" + info.getAuthor() );
        System.out.println( "Subject=" + info.getSubject() );
        System.out.println( "Keywords=" + info.getKeywords() );
        System.out.println( "Creator=" + info.getCreator() );
        System.out.println( "Producer=" + info.getProducer() );
        System.out.println( "Creation Date=" + info.getCreationDate() );
        System.out.println( "Modification Date=" + info.getModificationDate());
        System.out.println( "Trapped=" + info.getTrapped() ); 
    }
}