# PDF einlesen mit PDFBox



## mrbela (15. Jul 2011)

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.


----------



## Foo (15. Jul 2011)

Hi,

meine einminütige suche ergab: 

```
PDDocument pddDocument=PDDocument.load(new File("a.pdf"));
PDFTextStripper textStripper=new PDFTextStripper();
System.out.println(textStripper.getText(pddDocumen t));
pddDocument.close();
```

Gruss


----------



## mrbela (16. Jul 2011)

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:


```
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


----------



## HoaX (16. Jul 2011)

Steht doch alles in der Meldung? Er findet eine Klasse nicht: org.fontbox.afm.FontMetric
Und dem Namen nach ist das wohl Fontbox. Aber das steht doch auch alles hier: Apache PDFBox - PDFBox - Dependencies


----------

