PDF einlesen mit PDFBox

mrbela

Bekanntes Mitglied
Hallo Leute,

ich brauche für meine Applikation die Funktionalität, dass der Rechner (über einen JFileChooser) ausgesuchte pdf(s) einliest. Habe mal recherchiert und PDFBox gefunden.

Jetzt wollte ich mal fragen, bevor ich mich in die Welt von PDFBox einlesen muss: Hat jmd. einen Codesnippet zum Einlesen des Textes (keine Bilder oder Sonstiges) aus einem Pdf-File. Will diesen dann als String weiterverarbeiten.

Vielen Dank schonmal für Eure Hilfe!

Grüße

P.S.: Im Netz habe ich in 15 min Suche keinen solchen Snippet finden können.
 
Hi,

meine einminütige suche ergab:
Java:
PDDocument pddDocument=PDDocument.load(new File("a.pdf"));
PDFTextStripper textStripper=new PDFTextStripper();
System.out.println(textStripper.getText(pddDocumen t));
pddDocument.close();

Gruss
 
mmh, danke erstmal für die rasche Hilfe!

Dein Code klappt problemlos. Jetzt habe ich ihn aber mal auf ein Dokument mit über 200 Seiten losgelassen, das auch Bilder hat.

Dann kam diese Fehlermeldung:

Java:
Exception in thread "main" java.lang.NoClassDefFoundError: org/fontbox/afm/FontMetric
	at org.pdfbox.pdmodel.font.PDFont.getAFM(PDFont.java:334)
	at org.pdfbox.pdmodel.font.PDSimpleFont.getFontHeight(PDSimpleFont.java:104)
	at org.pdfbox.util.PDFStreamEngine.showString(PDFStreamEngine.java:336)
	at org.pdfbox.util.operator.ShowTextGlyph.process(ShowTextGlyph.java:80)
	at org.pdfbox.util.PDFStreamEngine.processOperator(PDFStreamEngine.java:452)
	at org.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:215)
	at org.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:174)
	at org.pdfbox.util.PDFTextStripper.processPage(PDFTextStripper.java:336)
	at org.pdfbox.util.PDFTextStripper.processPages(PDFTextStripper.java:259)
	at org.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:216)
	at org.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:149)
	at Test.PDFEinlesen.main(PDFEinlesen.java:15)
Caused by: java.lang.ClassNotFoundException: org.fontbox.afm.FontMetric
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	... 12 more

jmd. ne Ahnung?! 🙂

Danke
 

Neue Themen


Zurück
Oben