Πίστωση εικόνας: Pixland/Pixland/Getty Images
Δεν είναι δύσκολο να διαβάσετε αρχεία PDF σε Java χρησιμοποιώντας βιβλιοθήκες που είναι άμεσα διαθέσιμες. Η ανάγνωση αρχείων PDF σάς επιτρέπει να γράψετε προγράμματα Java που μπορούν να επεξεργαστούν το κείμενο σε αυτά τα αρχεία. Μια επιλογή για την ανάγνωση αρχείων PDF είναι η δωρεάν βιβλιοθήκη PDFBox ανοιχτού κώδικα που διατίθεται από τον Apache. Η πλατφόρμα ανάπτυξης Eclipse Java διευκολύνει αυτήν τη δουλειά και διαχειρίζεται τις βιβλιοθήκες που θα κατεβάσετε. Πρέπει να είστε εξοικειωμένοι με τον προγραμματισμό Java για να χρησιμοποιήσετε αυτές τις βιβλιοθήκες Java.
Συγκεντρώστε τις απαραίτητες βιβλιοθήκες
Βήμα 1
Κατεβάστε το Java JDK από τον ιστότοπο της Sun. Αυτό είναι ένα εκτελέσιμο αρχείο που μπορείτε να εγκαταστήσετε στο σύστημά σας εκτελώντας το. Οι εκδόσεις είναι διαθέσιμες για Windows, Mac και Linux. Κάντε κλικ στο κόκκινο κουμπί "Λήψη". Αποθηκεύστε ένα αρχείο που ονομάζεται "jdk-6uxx-windows-xxx.exe" όταν σας ζητηθεί. Αποθηκεύστε αυτό το αρχείο και, στη συνέχεια, κάντε διπλό κλικ σε αυτό για να εκκινήσετε το πρόγραμμα εγκατάστασης Java.
Το βίντεο της ημέρας
Βήμα 2
Κατεβάστε το σύστημα ανάπτυξης Eclipse και αποσυμπιέστε το σε έναν κατάλογο ανώτατου επιπέδου. Επιλέξτε "Eclipse IDE for Java Developers." Αυτό θα ξεκινήσει τη λήψη του "eclipse-java-galileo-SR2-win32.zip." Κάντε διπλό κλικ στο αρχείο για να το αποσυμπιέσετε αφού ολοκληρωθεί η λήψη. Επιλέξτε τη θέση του ριζικού καταλόγου "C:" για να αποσυμπιέσετε το Eclipse.
Βήμα 3
Ξεκινήστε το Eclipse κάνοντας διπλό κλικ στο "eclipse.exe" στον κατάλογο που μόλις δημιουργήσατε αποσυμπιέζοντας το αρχείο zip του eclipse. Στο σύστημα Eclipse, δημιουργήστε ένα έργο με το όνομα "PrintPdf". Επιλέξτε «Αρχείο» μετά «Νέο» και μετά «Έργο Java». Πληκτρολογήστε το όνομα του έργου "PrintPdf" στο παράθυρο διαλόγου που εμφανίζεται. Βεβαιωθείτε ότι είναι επιλεγμένο το κουμπί επιλογής που λέει "Δημιουργία χωριστών φακέλων για αρχεία πηγής και κλάσης". Κάντε κλικ στο "Τέλος".
Βήμα 4
Δημιουργήστε έναν φάκελο "lib" στο έργο "PrintPdf". Κάντε δεξί κλικ στο έργο "PrintPdf" και επιλέξτε "Νέο" και μετά "Φάκελος". Εισαγάγετε το όνομα "lib" και κάντε κλικ στο "Τέλος".
Βήμα 5
Κάντε λήψη του Apache "PDFBox.jar" από την τοποθεσία του Apache και αντιγράψτε το στον κατάλογο lib που μόλις δημιουργήσατε. Στην ίδια ιστοσελίδα, πραγματοποιήστε λήψη του αρχείου "fontbox-nn.jar" και του αρχείου "jempbox-nn.jar". Σε κάθε περίπτωση, όταν κάνετε κλικ σε αυτό το αρχείο jar, θα σας μεταφέρει σε μια σελίδα όπου μπορείτε να επιλέξετε έναν από τους πολλούς διακομιστές που μπορούν να παρέχουν αυτό το αρχείο. Διαλέξτε καθένα από αυτά και θα γίνει λήψη κάθε αρχείου jar. Αντιγράψτε κάθε αρχείο jar στον κατάλογο lib που μόλις δημιουργήσατε.
Βήμα 6
Κατεβάστε το πακέτο Apache log4j.jar με τον ίδιο τρόπο και αντιγράψτε το αρχείο log4j.jar στον κατάλογο. Η βιβλιοθήκη Apache PDFBox χρησιμοποιεί αυτήν τη βιβλιοθήκη καταγραφής Apache, επομένως αυτό το αρχείο πρέπει να υπάρχει.
Βήμα 7
Κάντε λήψη του πακέτου Apache Commons Discovery ως αρχείο zip. Κάντε διπλό κλικ στο αρχείο zip, επιλέξτε το "commons-discovery-nn.jar" και εξαγάγετε το στον κατάλογο lib.
Βήμα 8
Στο Eclipse, κάντε κλικ στον κατάλογο "lib" και πατήστε "F5". Βεβαιωθείτε ότι εμφανίζονται όλα τα αρχεία jar που προσθέσατε.
Βήμα 9
Κάντε δεξί κλικ στο έργο PrintPDF και επιλέξτε "Ιδιότητες". Επιλέξτε "Java Build Path" και επιλέξτε την καρτέλα "Libraries". Κάντε κλικ στο "Add jars" και μεταβείτε στον κατάλογο lib που μόλις δημιουργήσατε και προσθέστε "commons-logging-nn.jar" "fontbox-nn.jar", "jempbox-nn.jar", "log4j-nn.jar ," και "pdfbox-nn.jar." Κάντε κλικ στο "OK".
Γράψτε τον κώδικα για ανάγνωση αρχείων PDF
Βήμα 1
Κάντε δεξί κλικ στο φάκελο "src" του έργου "PrintPDF" και επιλέξτε "Νέο" και το "Πακέτο". Δημιουργήστε ένα πακέτο χρησιμοποιώντας οποιοδήποτε όνομα με νόημα. Για παράδειγμα, ονομάστε το πακέτο "com.pdf.util". Κάντε κλικ στο "Τέλος".
Βήμα 2
Κάντε δεξί κλικ στο όνομα του πακέτου που μόλις δημιουργήσατε και επιλέξτε «Νέο» και μετά «Τάξη». Δημιουργήστε μια τάξη με όνομα "PDFTextParser." Φροντίστε να κάνετε κλικ στο πλαίσιο ελέγχου με την ένδειξη "public static void main..." έτσι ώστε το σύστημα να δημιουργήσει ένα «κύρια» μέθοδος.
Βήμα 3
Επεξεργαστείτε τη μέθοδο "main" στην κλάση "PDFTextParser" για να περιέχει τον ακόλουθο κώδικα:
δημόσιο static void main (String args[]){ PDFTextParser pdf = new PDFTextParser("data/javaPDF.pdf") GO //εκτύπωση αποτελεσμάτων System.out.println (pdf.getParsedText()) GO }
Σημειώστε ότι το αρχείο που θέλετε να εκτυπώσετε είναι γραμμένο στον κατασκευαστή του PDFTextParser ("data/JavaPDF.pdf"). Θα μπορούσε εξίσου εύκολα να είναι ένα όρισμα γραμμής εντολών:
PDFTextParser pdf = νέο PDFTextParser (argv[0])
ΠΗΓΑΙΝΩ
ή επιλεγμένο από μια διεπαφή GUI.
Δημιουργεί μια παρουσία της κλάσης PDFTextParser και, στη συνέχεια, καλεί τη μέθοδο "getParsedText".
Βήμα 4
Εισαγάγετε τον ακόλουθο κώδικα ακριβώς κάτω από τη γραμμή κορυφαίας κατηγορίας "public class PDFTextParser" που δημιουργήθηκε για εσάς.
private PDFParser parser = null GO
// Εξαγωγή κειμένου από έγγραφο PDF. δημόσιο PDFTextParser (Όνομα αρχείου συμβολοσειράς) { Αρχείο αρχείου = νέο αρχείο (Όνομα αρχείου)
GO if (!file.isFile()) { System.err.println("File " + fileName + " does not exist.") GO } //Ρύθμιση παρουσίας του αναλυτή PDF δοκιμάστε { parser = new PDFParser (new FileInputStream (file)) GO } catch (IOException e) { System.err.println("Δεν είναι δυνατό το άνοιγμα του PDF Αναλυτής. " + e.getMessage()) GO } } // public String getParsedText() { PDDocument pdDoc = null GO COSDdocument cosDoc = null;
String parsedText = null; ΠΗΓΑΙΝΩ
δοκιμάστε { PDFTextStripper pdfStripper = νέο PDFTextStripper()
GO parser.parse() GO cosDoc = parser.getDocument() GO pdDoc = νέο PDDocument (cosDoc) GO
//λήψη λίστας όλων των σελίδων Λίστα< PDPage> list = pdDoc.getDocumentCatalog().getAllPages()
ΠΗΓΑΙΝΩ
//σημειώστε ότι μπορείτε να εκτυπώσετε όποιες σελίδες θέλετε //επιλέγοντας διαφορετικές τιμές της αρχικής και τελικής σελίδας pdfStripper.setStartPage (1); //1-based int length = list.size(); //συνολικός αριθμός σελίδων pdfStripper.setEndPage (μήκος); //τελευταία σελίδα //λήψη του κειμένου για τις επιλεγμένες σελίδες parsedText = pdfStripper.getText (pdDoc)
GO } catch (IOException e) { System.err .println("Παρουσιάστηκε εξαίρεση κατά την ανάλυση του εγγράφου PDF." + e.getMessage()) GO } τελικά { try { if (cosDoc != null) cosDoc.close() GO if (pdDoc != null) pdDoc.close() GO } catch (IOException e) { e.printStackTrace() GO } }
επιστροφή parsedText GO }
Βήμα 5
Εκτελέστε το πρόγραμμα. Κάντε δεξί κλικ στην κλάση PDFTextParser και κάντε κλικ στο «Εκτέλεση ως» και μετά στο «Πρόγραμμα Java». Το πρόγραμμα θα πρέπει να εκτελείται και να εκτυπώνει τα περιεχόμενα κειμένου του αρχείου PDF που καταχωρίσατε στον κώδικά σας.
Καταργήστε το μήνυμα λάθους εκκίνησης Log4j
Βήμα 1
Δημιουργήστε ένα αρχείο διαμόρφωσης για να αποκρύψετε το μήνυμα σφάλματος του συστήματος καταγραφής Java log4j που δημιουργήθηκε όταν δεν μπορεί να βρει ένα αρχείο διαμόρφωσης κατά την εκκίνηση. Κάντε δεξί κλικ στο φάκελο "src" του έργου PrintPDF και επιλέξτε "Νέο" και μετά "Αρχείο". Ονομάστε το αρχείο "log4j.properties" Το Eclipse θα εμφανίσει μια κενή οθόνη για αυτό το νέο αρχείο.
Βήμα 2
Επικολλήστε τις ακόλουθες γραμμές στην κενή οθόνη που αντιπροσωπεύει το αρχείο "log4j.properties".
Βήμα 3
Αποθηκεύστε το αρχείο "log4j.properties". Η παρουσία αυτού του αρχείου στον κατάλογο "src" ανώτατου επιπέδου θα καταργήσει το μήνυμα εκκίνησης του log4j και τυχόν ασήμαντα μηνύματα καταγραφής. Το σύστημα log4j θα εκτυπώσει μόνο τα πραγματικά σφάλματα.
Υπόδειξη
Υπάρχει επίσης μια σειρά από εμπορικά πακέτα που μπορείτε να χρησιμοποιήσετε για να εξαγάγετε κείμενο από αρχεία PDF, αλλά δεν είναι φθηνά.