web-dev-qa-db-fra.com

Comment lire les fichiers PDF utilisant Java?

Je souhaite lire des données texte à partir d'un fichier PDF) à l'aide de Java. Aidez-moi à le faire.

Toute aide est appréciée.

56
yohan.jayarathna

PDFBox est la meilleure bibliothèque que j'ai trouvée à cet effet. Elle est complète et très facile à utiliser si vous ne faites que l'extraction de texte de base. Des exemples peuvent être trouvés ici .

Cela s’explique sur la page, mais il faut cependant se rappeler que les index de début et de fin lorsqu’on utilise setStartPage () et setEndPage () sont à la fois compris. J'ai sauté cette explication une première fois, puis il m'a fallu un certain temps pour comprendre pourquoi je recevais plus d'une page en arrière à chaque appel!

Itext est une autre alternative qui fonctionne également avec C #, bien que je ne l'utilise jamais personnellement. Il est plus simple que PDFBox, donc moins adapté au travail si vous avez seulement besoin d’une extraction de texte de base.

64
Michael Berry

avec Apache PDFBox, ça se passe comme ça:

PDDocument document = PDDocument.load(new File("test.pdf"));
if (!document.isEncrypted()) {
    PDFTextStripper stripper = new PDFTextStripper();
    String text = stripper.getText(document);
    System.out.println("Text:" + text);
}
document.close();
20
Sachin

PDFBox contient outils d'extraction de texte .

iText prend davantage en charge la manipulation de texte de bas niveau, mais vous devrez écrire une quantité considérable de code pour obtenir une extraction de texte.

iText in Action contient un bon aperçu des limites de l'extraction de texte à partir de PDF, quelle que soit la bibliothèque utilisée (Section 18.2: Extraction et édition de texte), ainsi qu'une explication convaincante de l'absence de l'extraction de texte dans la bibliothèque. soutien. En bref, il est relativement facile d’écrire un code qui gérera des cas simples, mais il est fondamentalement impossible d’extraire du texte de PDF en général.

17
Bolo

Utilisez une bibliothèque PDF telle que iText .

2
Oded