Comment extraire du texte d'un fichier PDF avec Apache PDFBox

Je voudrais extraire le texte d'un fichier PDF avec Apache PDFBox.

J'ai écrit ce code:

PDFTextStripper pdfStripper = null;
PDDocument pdDoc = null;
COSDocument cosDoc = null;
File file = new File(filepath);

PDFParser parser = new PDFParser(new FileInputStream(file));
parser.parse();
cosDoc = parser.getDocument();
pdfStripper = new PDFTextStripper();
pdDoc = new PDDocument(cosDoc);
pdfStripper.setStartPage(1);
pdfStripper.setEndPage(5);
String parsedText = pdfStripper.getText(pdDoc);
System.out.println(parsedText);

Cependant, j'ai eu l'erreur suivante:

Exception in thread "main" java.lang.NullPointerException
at org.apache.fontbox.afm.AFMParser.main(AFMParser.java:304)

J'ai ajouté pdfbox-1.8.5.jar et fontbox-1.8.5.jar pour le chemin de classe.

Modifier

J'ai ajouté System.out.println("program starts"); au début du programme.

J'ai couru, alors j'ai eu le même message d'erreur tel que mentionné ci-dessus et program starts n'apparaît pas dans la console.

Donc, je pense que j'ai un problème avec le chemin de classe ou de quelque chose.

Merci.

  • Probablement votre fichier PDF n'est pas tout à fait valide et rend PDFBox trébucher. Vous pourriez fournir le PDF pour l'inspection.
  • Êtes-vous sûr que vous commencer à les corriger main() méthode? L'exception semble que vous démarrez le main() de org.apache.fontbox.afm.AFMParser qui ressemble PDFBox code, pas votre code.
  • Vous avez raison. Je réinitialiser la configuration d'exécution et maintenant le programme fonctionne. Merci beaucoup, mkl.
InformationsquelleAutor Benben | 2014-05-22