web-dev-qa-db-fra.com

Déterminez le nombre de pages dans un PDF fichier

Comment déterminer le nombre de pages d'un fichier PDF donné, à l'aide d'une API Java source libre/ouverte?

21
Tony the Pony

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();
54
dogbane

Vous devriez pouvoir le faire avec iText . Voir ce fil pour savoir comment résoudre le problème. Ici est le chapitre 2 qui n'est pas lié correctement dans le fil de discussion:

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

Apache pdfbox devrait faire l'affaire

http://pdfbox.Apache.org/download.html

3
Shawn

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() ); 
    }
}
0

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.

0
HamoriZ