Wie kann mit Java Text aus einer PDF-Datei ausgelesen werden? v.5.0

Die iText-Bibliotheken stellen umfangreiche Funktionen zur Verarbeitung von PDF-Dateien zur Verfügung. Zur Verwendung müssen sie als externe Bibliothek geladen werden. Siehe hierzu: Bibliotheken laden.

Zunächst muss ein PdfReader -Objekt gebildet werden, das als Parameter den Dateipfad der zu lesenden *.pdf-Datei erhält. Zum Abfangen von IOExceptions muss dies innerhalb eines try-catch -Blocks erfolgen. Mit der Methode getNumberOfPages() erhält man die Anzahl der Seiten des PDF-Dokumentes. In einer Schleife wird dann der Inhalt der einzelnen Seiten ausgelesen. Dies geschieht mit der statischen Methode getTextFromPage() der Klasse PdfTextExtractor , die neben dem Reader noch die Seitenzahl als zweiten Parameter übergeben bekommt. Nach den einzelnen Seiten wird kein automatischer Umbruch eingefügt, sodass der Entwickler selbst dafür sorgen muss.

import java.io.IOException;

import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.parser.PdfTextExtractor;

public class PdfLesen {
    public static void main(String[] args) {
        StringBuffer buff = new StringBuffer();    
        try {
            PdfReader reader = new PdfReader(
                    "test.pdf");
            int numberOfPages = reader.getNumberOfPages();
            String s;
            for (int i = 1; i <= numberOfPages; i++) {
                s  = PdfTextExtractor.getTextFromPage(reader, i);
                buff.append(s + "\n");
            }    
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println(buff.toString());
    }
}