Как определить количество страниц в данном PDF файле, используя бесплатный API-интерфейс с открытым исходным кодом?
Определите количество страниц в файле PDF
Ответ 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();
Ответ 3
Apache pdfbox должен сделать трюк
Ответ 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() );
}
}