jPDFText Developer Guide

Inhalt

javalogo
Einführung
Erste Schritte
Text extrahieren
Text seitenweise extrahieren
Wörter als Vektor von Zeichenketten extrahieren
Wörter seitenweise extrahieren
Grundlegende Dokument-Informationen bestimmen
Verteilung und JAR-Dateien

Javadoc API
Source Code Samples

Einführung

 
jPDFText ist eine Java-Bibliothek, die sich nahtlos in Ihre Anwendung integriert, um Wörter aus PDF-Dokumente zu extrahieren. jPDFText bietet die folgenden Funktionen:

 

  • Laden von PDF-Dokumenten aus Dateien, Netzgeräten, URLs oder Input-Streams
  • Grundlegende Dokument-Informationen aus dem PDF-Dokument wie Titel, Autor, Schlüsselwörter, Seitenanzahl, etc. bestimmten
  • Wörter aus PDF-Dokumenten als ein Vektor von Zeichenketten extrahieren
  • Wörter seitenweise extrahieren

Wie alle unsere Bibliotheken baut jPDFText auf Qoppas eigenem Format auf und verlangt keine Programme von Drittherstellern oder Treiber.

Erste Schritte

 
Ausgangspunkt beim Einsatz von jPDFText ist com.qoppa.pdfText.PDFText. Diese Klasse wird gebraucht, um ein PDF-Dokument zu laden und um Text aus dem PDF-Dokument zu extrahieren. Die Klasse bietet drei Konstruktoren, um PDF-Dateien aus dem Dateisystem, einer URL oder einem InputStream zu laden. Alle Konstruktoren benötigen einen zusätzlichen Parameter, ein Objekt, das IPasswordHandler implementiert, dieses wird abgefragt, falls die PDF-Datei beim Öffnen ein Kennwort verlangt. Für nicht-verschlüsselte PDF-Dateien kann der zweite Parameter “null” sein:
PDFText pdfText = new PDFText (new URL(http://www.mysite.com/content.pdf”), null);

Text extrahieren

 
Sobald ein PDFText-Objekt angelegt wurde, braucht die Host-Anwendung nur die getText-Methode aufzurufen, um Text aus dem geladenen PDF-Dokument zu lesen. Der Text wird als Zeichenkette zurückgegeben.
// Text als Zeichenkette lesen
String text = pdfText.getText();

 

// den Text drucken
System.out.println(text);

Text seitenweise extrahieren

Um den Text seitenweise zu extrahieren, nutzt man die getText-Methode, der man eine Seitenzahl als Parameter übergibt. Die Seitenanzahl kann man über das PDFText-Objekt mittels der getPageCount-Methode bestimmen.

// Die Seitenanzahl bestimmen
int pageCount = pdfText.getPageCount();

for(int count = 0; count < pageCount; count++)
{

// Text der Seite (count+1) bestimmen
String text = getText(count+1);

// den Text drucken
System.out.println(” PAGE ” + (count + 1));
System.out.println(text);
}

Wörter als Vektor von Zeichenketten extrahieren

 
Sobald ein PDFText-Objekt angelegt wurde, braucht die Host-Anwendung nur die getWords-Methode aufzurufen, um die Wörterliste aus dem geladenen PDF-Dokument zu bestimmen.

 

// die Wörterliste als einen Vektor von Zeichenketten bekommen
Vector words = pdfText.getWords();

// in einer Schleife durch die Wörter gehen und diese drucken
for(int count = 0; count < words.size(); count++)
{
System.out.println(“[” + words.get(count) + “] “);
}

Wörter seitenweise extrahieren

 
Um Wörter seitenweise zu extrahieren, nutzt man die getWords-Methode, der man eine Seitenzahl als Parameter übergibt. Die Seitenanzahl kann man über das PDFText-Objekt mittels der getPageCount-Methode bestimmen.
// die Seitenanzahl bestimmen
int pageCount = pdfText.getPageCount();

 

for(int count = 0; count < pageCount; count++)
{

// Wörter der Seite (count+1) bestimmen
Vector words = getWords(count+1);

// in einer Schleife durch die Wörter gehen und diese drucken
System.out.println(” PAGE ” + (count + 1));

for(int wordCount = 0; wordCount < words.size(); wordCount++)
{
System.out.println(“[” + words.get(wordCount) + “] “);
}
}

Grundlegende Informationen über das PDF-Dokument bestimmen (Titel, Autor, etc.)

 
Um grundlegende Informationen eines geladenen PDF-Dokuments zu bestimmen, müssen Sie auf die DocumentInfo-Klasse über PDFText.getDocumentInfo zugreifen. Von dieser Klasse ausgehend, können Sie Informationen über das Dokument wie Titel, Autor, Betreff, Schlüsselwörter, etc. abfragen.

 

System.out.println(pdfText.getDocumentInfo().getTitle());
System.out.println(pdfText.getDocumentInfo().getAuthor());
System.out.println(pdfText.getDocumentInfo().getKeywords());

Verteilung und JAR-Dateien

 

 

jPDFText wird in einer einzigen JAR-Datei ausgeliefert; jPDFText.jar – sie wird mit dem Evaluationsbeispiel installiert. Wenn eine Anwendung, die jPDFText enthält, verteilt werden soll, muss, damit die Anwendung läuft, die jPDFText.jar-Datei zusammen mit ihr verteilt werden; zusätzlich muss diese im Classpath aufgenommen werden.

Javadoc API
Source Code Samples