Comment déterminer le nombre de pages d'un fichier PDF donné, à l'aide d'une API Java source libre/ouverte?
Vous pouvez utiliser Apache PDFBox pour charger un document PDF, puis appeler la méthode getNumberOfPages
pour renvoyer le nombre de pages.
PDDocument doc = PDDocument.load(new File("file.pdf"));
int count = doc.getNumberOfPages();
Apache pdfbox devrait faire l'affaire
Si vous souhaitez obtenir plus d'informations sur PDF, veuillez utiliser le code ci-dessous. Si le document ne contient aucune des informations, il retourne null. Ceci est la bibliothèque pdfbox d'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() );
}
}
Si vous générez le PDF avec FOP, vous pouvez utiliser http://xmlgraphics.Apache.org/fop/
Vous pouvez compter les pages à l'aide de balises fop.
S'il s'agit simplement d'un simple fichier pdf provenant d'une source externe, vous devez vérifier l'API iText.