Es ist nicht schwer zu PDF-Dateien in Java mit Bibliotheken, die leicht verfügbar sind zu lesen. Lesen von PDF- Dateien ermöglicht es Ihnen, Java-Programme , die den Text in diesen Dateien verarbeiten kann schreiben. Eine Option zum Lesen von PDF -Dateien ist der kostenlose Open -Source- Bibliothek zur Verfügung PDFBox von Apache . Die Eclipse- Java -Entwicklungsplattform macht diese Arbeit leichter und verwaltet die Bibliotheken, die Sie herunterladen werden wird . Sie müssen vertraut sein mit Java-Programmierung zur Nutzung dieser Java-Bibliotheken machen . Anleitung
Sammeln benötigten Bibliotheken
1
Download der Java JDK von Sun -Website. Dies ist eine ausführbare Datei, die Sie auf Ihrem System , indem Sie es installieren können. Es sind Versionen für Windows , Mac und Linux zur Verfügung. Klicken Sie auf das rote \\ "Download \\ " -Taste. Speichern einer Datei mit dem Namen \\ " jdk- 6uxx -windows- xxx.exe \\ ", wenn Sie dazu aufgefordert werden . Speichern Sie diese Datei und klicken Sie dann auf doppelklicken Sie darauf , um die Java- Installationsprogramm zu starten.
2
Laden Sie die Eclipse-Entwicklungsumgebung und entpacken Sie sie in ein Verzeichnis auf oberster Ebene . Wählen Sie \\ " Eclipse-IDE für Java-Entwickler . \\ " Dies startet den Download von \\ "eclipse -java- galileo -SR2- win32.zip . \\ " Auf die Datei doppelklicken, um sie entpacken nach dem Herunterladen abzuschließen. Wählen Sie das \\ "C: \\ " . Root-Verzeichnis Standort Eclipse entpacken
3
Anfang Eclipse von Doppelklick auf \\ " eclipse.exe \\ " in das Verzeichnis nur durch das Entpacken der zip-Datei erstellt eclipse . In der Eclipse- System , erstellen Sie ein Projekt mit dem Namen \\ " PrintPDF . \\ " Select \\ "Datei \\ " und dann \\ "Neue \\ " und dann \\ "Java -Projekt. \\ " Geben Sie den Namen des Projekts \\ " ; PrintPDF \\ " in dem Dialogfeld, das angezeigt wird. Seien Sie sicher , dass das Optionsfeld gewählt ist , dass sagt \\ " Erstellen Sie separate Ordner für Quell-und class-Dateien . \\ " Klicken Sie auf \\ "Fertig stellen \\".
4
erstellen \\ " lib \\ "-Ordner in Ihrem \\ " PrintPDF \\ "-Projekt. Rechts-Klick auf die \\ " PrintPDF \\ "-Projekt , und wählen Sie \\ "Neue \\ " und dann \\ "Ordner . \\ " Geben Sie den Namen \\ " lib \\ " und klicken Sie auf \\ "Fertig . \\ "
5
herunterladen Apache \\ " PDFBox.jar \\ "aus dem Apache -Website , und kopieren Sie es in den lib Sie gerade erstellt haben. Auf der Web-Seite , laden Sie die \\ " fontbox - nn.jar \\ " -Datei und die \\ " jempbox - nn.jar \\ "-Datei. In jedem Fall , wenn man auf den JAR-Datei klicken , werden Sie zu einer Seite, wo Sie eine der mehrere Server , die diese Datei anbieten können auswählen können. Wählen Sie jeden von ihnen und jede JAR-Datei wird heruntergeladen . Kopieren Sie alle JAR-Datei in das Verzeichnis lib Sie gerade erstellt haben.
6
Laden Sie den Apache log4j.jar Paket in der gleichen Weise und kopieren Sie die log4j.jar Datei in das Verzeichnis . Der Apache PDFBox Bibliothek verwendet diese Apache Logging Bibliothek , so muss diese Datei vorhanden sein .
7
Laden Sie den Apache Commons Entdeckung Paket als Zip-Datei . Auf die ZIP -Datei Doppelklicken Sie auf , wählen Sie die \\ " commons- discovery- nn.jar \\ " und entpacken Sie es in das Verzeichnis lib .
8
In Eclipse auf dem \\ klicken Sie auf " lib \\ "-Verzeichnis , und drücken Sie \\ " F5 . \\ "Stellen Sie sicher , dass alle jar Dateien, die hinzugefügt werden angezeigt.
9
Rechts-Klick auf das Projekt, und wählen PrintPDF \\ " Eigenschaften . \\ "Select \\ " Java Build Path \\ " und wählen Sie die \\ " Libraries \\ "-Registerkarte. Klicken Sie auf \\ "Add jars \\ " und gehen Sie zum Verzeichnis lib Sie gerade erstellt haben , und fügen Sie \\ "commons -logging- nn.jar \\" \\ " fontbox - nn.jar , \\" \\ " ; . jempbox - nn.jar , \\ "\\" log4j - nn.jar , \\ " und \\ " PDFBox - nn.jar \\ "Klicken Sie auf \\ " OK \\ "
< br . >
schreiben Sie den Code zum Lesen PDFs
10
Rechts-Klick auf den \\ " src \\ " Ihres \\ " PrintPDF \\ "-Projekt , und wählen Sie \\ " New \\ "und die \\ " Paket \\ ". erstellen Sie ein Paket mit einem beliebigen aussagekräftigen Namen . Zum Beispiel , nennen Sie das Paket \\ " com.pdf.util . \\ " Klicken Sie auf \\ "Fertig stellen \\".
11
auf der Verpackung Name, den Sie gerade erstellt die rechte Maustaste und wählen Sie \\ "Neue \\ " und dann \\ " Klasse . \\ " erstellen Sie eine Klasse mit dem Namen \\ " PDFTextParser . \\ " Achten Sie darauf, das Kontrollkästchen markiert auf \\ " public static void main ... \\ " so , dass das System eine \\ " main \\ "-Methode.
12
bearbeiten \\ " main \\ "-Methode in der \\ " PDFTextParser \\ " -Klasse, um den folgenden Code enthalten :
public static void main (String args [ ] ) {
PDFTextParser pdf = new PDFTextParser ( \\ "data /javaPDF.pdf \\ " ) < br /> GO
//print out Ergebnisse
System.out.println ( pdf.getParsedText ())
GO }
;
Hinweis , dass die Datei, die Sie ausdrucken out wird im Konstruktor zu PDFTextParser ( \\ "data /JavaPDF.pdf \\ " ) geschrieben .
PDFTextParser pdf = new PDFTextParser ( argv [0] )
GO
oder aus einer GUI -Schnittstelle.
Es wird eine Instanz der Klasse PDFTextParser und ruft dann seine \\ " getParsedText \\ "-Methode.
13
Fügen Sie den folgenden Code direkt unter der Spitzenklasse Zeile \\ " public class PDFTextParser \\ " , das für Sie erstellt wurde.
privaten PDFParser Parser = null
GO
//extrahieren von Text aus PDF- Dokument
öffentlichen PDFTextParser ( string filename ) {
Datei file = new File (Dateiname)
; ( ! file.isFile ()) GO
if { System.err.println ( \\ "Datei \\ " + dateiname + \\ " . existiert nicht \\ " )
GO }
//bis Instanz PDF Parser
Set try {
Parser = new PDFParser (neu FileInputStream (file) )
GO } catch (IOException e) {
System.err.println ( \\ "Kann PDF Parser öffnen. \\ " + e.getMessage () )
GO } }
//--------------------- ----------
public String getParsedText () {
PDDocument pdDoc = null
GO COSDocument cosDoc = null; < br /> String parsedText = null;
GO
try { PDFTextStripper pdfStripper = new PDFTextStripper ()
GO < br /> parser.parse ()
GO cosDoc = parser.getDocument ()
GO pdDoc = new PDDocument ( cosDoc )
GO
//get Liste aller Seiten
Liste list = pdDoc.getDocumentCatalog (). getAllPages ()
GO < br />
//beachten Sie, dass Sie ausdrucken können alle Seiten, die Sie
//indem Sie verschiedene Werte der Beginn und das Ende Seite
pdfStripper.setStartPage (1) //1-basierten
int length = list.size (); //Gesamtzahl der Seiten
pdfStripper.setEndPage (Länge) ; //letzten Seite
//um den Text für die ausgewählten Seiten
parsedText = pdfStripper.getText ( pdDoc )
GO } catch (IOException e) {
System.err
. println ( \\ " Eine Ausnahme in Parsen der PDF Dokument aufgetreten. \\ "
+ e.getMessage ())
GO ;} finally { try {
if (! cosDoc = null)
cosDoc.close ()
GO if ( pdDoc ! = null)
pdDoc.close ()
GO } catch (IOException e) {
e.printStackTrace () < br /> GO
} }
Rückkehr parsedText
GO }
14 Führen Sie das Programm . Auf der PDFTextParser Klasse der rechten Maustaste und klicken Sie auf \\ " Wie \\ Run " und dann auf \\ "Java -Programm. \\ " Das Programm sollte laufen und drucken Sie die Textinhalte der PDF- Datei, die Sie in Ihrem Code eingegeben .
unterdrücken log4j Startup Fehlermeldung
15
erstellen Sie eine Konfigurationsdatei , um die Java- Logging-System log4j Fehlermeldung erstellt, wenn sie nicht finden können, eine Konfigurationsdatei beim Start unterdrücken. Direkt an der \\ " src \\ "-Ordner des PrintPDF Projekt, und wählen \\ "Neue \\ " und dann \\ "Datei \\". Benennen Sie die Datei \\ " log4j.properties \\ " Eclipse anzuzeigen klicken ein leerer Bildschirm für diese neue Datei.
16
die folgenden Zeilen in den leeren Bildschirm , die die \\ " log4j.properties \\ "-Datei.
Einfügen ; # Set root Logger Ebene zu debuggen und es ist nur zu appender A1
log4j.rootLogger = WARN , A1
# A1 wird eingestellt, um eine ConsoleAppender sein < . . br /> log4j.appender.A1 = org.apache.log4j.ConsoleAppender
# A1 nutzt PatternLayout .
log4j.appender.A1.layout = org.apache . log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern =% -4R [% t] % - 5p % c % x - % m% n
17
Speichern Sie die \\ " log4j.properties \\ "-Datei. Das Vorhandensein dieser Datei in der obersten Ebene \\ " src \\ "-Verzeichnis wird die log4j Startmeldungen und keine triviale Protokollierung Meldungen unterdrückt. Das log4j System druckt nur die tatsächlichen Fehler .