Het is niet moeilijk om PDF-bestanden in Java met behulp van bibliotheken die gemakkelijk beschikbaar zijn gelezen . Het lezen van PDF-bestanden kunt u Java- programma's die de tekst in deze bestanden kan verwerken schrijven . Een optie voor het lezen van PDF-bestanden is de gratis, open - source PDFBox bibliotheek beschikbaar van Apache . De Eclipse Java- ontwikkelplatform maakt dit werk gemakkelijker en beheert de bibliotheken u zal worden gedownload . Je moet bekend zijn met programmeren in Java om het gebruik van deze Java-bibliotheken te maken te zijn . Instructies Verzamel Nodig Bibliotheken 1 Download de Java JDK van Sun's website . Dit is een uitvoerbaar bestand dat u op uw systeem kunt installeren door het. Versies zijn beschikbaar voor Windows , Mac en Linux . Klik op de rode \\ " Download \\ " knop . Sla een bestand met de naam \\ " jdk - 6uxx - windows - xxx.exe \\ " wanneer daarom wordt gevraagd . Sla dit bestand op en dubbelklik erop om de Java- installatieprogramma te starten . Kopen van 2 Download de Eclipse systeemontwikkeling en pak het uit in een top - niveau map . Selecteer \\ " Eclipse IDE voor Java-ontwikkelaars . \\ " Dit zal het downloaden van start \\ " eclipse - java - Galileo - SR2 - win32.zip . \\ " Dubbelklik op het bestand om het uit te pakken na het downloaden is voltooien . Selecteer de \\ " C : \\ " . Root directory locatie om Eclipse uitpakken Start Eclipse 3 door dubbel te klikken op \\ " eclipse.exe \\ " in de map die u gewoon door het uitpakken van het zip-bestand eclips . In de Eclipse -systeem , maakt u een project met de naam \\ " PrintPDF . \\ " Selecteer \\ "Bestand \\ " dan \\ " Nieuw \\ " dan \\ " Java -project . \\ " Typ de naam van het project \\ " ; PrintPDF \\ " in het dialoogvenster dat verschijnt . Zorg ervoor dat het keuzerondje wordt geselecteerd die zegt \\ " Maak aparte mappen voor de bron en de class-bestanden . \\ " Klik \\ "Voltooien . \\ " 4 Maak een \\ " lib \\ " map in je \\ " PrintPDF \\ " -project . Klik met de rechtermuisknop op de \\ " PrintPDF \\ "-project en selecteer \\ " Nieuw \\ " en dan \\ " map . \\ " Geef de naam \\ " lib \\ " en klik op \\ "Voltooien . \\ " Download Apache 5 \\ " PDFBox.jar \\ "van de Apache- website en kopieer het in de de lib map die u zojuist hebt gemaakt . Op dezelfde webpagina , download dan de " \\ fontbox - nn.jar " file \\ en \\ " jempbox - nn.jar \\ " bestand . In elk geval , als je op die jar -bestand klikt , zal het u naar een pagina waar je een van de vele servers die dit bestand kan bieden kunt selecteren . Pick elk van hen en elk jar bestand downloaden . Kopieer elk jar bestand in de lib map die u zojuist hebt gemaakt . 6 Download de Apache log4j.jar pakket op dezelfde manier en kopieer het log4j.jar bestand in de map . De Apache PDFBox library gebruikt deze Apache logging bibliotheek , zodat dit bestand aanwezig te zijn . 7 Download de Apache Commons Discovery pakket als een zip-bestand . Dubbelklik op het zip-bestand , selecteert u de \\ " commons - discovery - nn.jar \\ " en pak het uit in de lib directory . 8 In Eclipse , klik dan op de \\ " lib \\ "directory en druk op \\ " F5 . \\ " Zorg dat alle jar bestanden die u hebt toegevoegd , worden weergegeven. klik met de rechtermuisknop op het PrintPDF project en selecteer \\ 9 " Eigenschappen . \\ " kies \\ " Java Build Path \\ " en selecteer de \\ " \\ " tab Bibliotheken . Klik op \\ " Add potten \\ " en ga naar de lib directory die u zojuist hebt gemaakt , en voeg \\ " commons - logging - nn.jar \\ " \\ " fontbox - nn.jar , \\ " \\ " ; . jempbox - nn.jar , \\ " \\ " log4j - nn.jar , \\ " en \\ " PDFBox - nn.jar \\ " Klik op \\ " OK \\ " < br . > Schrijf de code te lezen PDF 10 klik met de rechtermuisknop op de map van uw \\ " PrintPDF \\ "-project en selecteer \\ " Nieuw \\ \\ " src \\ " " en de \\ " package . \\ " Maak een pakket met een zinvolle naam . Bijvoorbeeld , noem het pakket \\ " com.pdf.util . \\ " Klik \\ "Voltooien . \\ " 11 Klik met de rechtermuisknop op de naam die u zojuist hebt gemaakt pakket en selecteer \\ " Nieuw \\ " en dan \\ " Class . \\ " Maak een klasse met de naam \\ " PDFTextParser . \\ " Zorg ervoor dat u het selectievakje gemarkeerd op \\ " public static void main ... \\ " dus dat het systeem van een \\ " main \\ " methode zal creëren. 12 Bewerk de \\ " main \\ " methode in de \\ " PDFTextParser \\ " class om de volgende code bevatten : public static void main ( String args [ ] ) { PDFTextParser pdf = new PDFTextParser ( \\ " data /javaPDF.pdf \\ " ) < br /> GO //uitdraai resultaten System.out.println ( pdf.getParsedText ( ) ) GO } ; Merk op dat het bestand dat u wilt afdrukken wordt gespeld in de constructor om PDFTextParser ( \\ " data /JavaPDF.pdf \\ " ) . PDFTextParser pdf = new PDFTextParser ( argv [ 0 ] ) GO < br /: het zou een command line argument net zo gemakkelijk worden > of geselecteerd uit een GUI-interface . het creëert een instantie van de PDFTextParser klasse , en roept vervolgens haar \\ " getParsedText \\ " -methode . 13 Plaats net onder de topklasse lijn \\ " public class PDFTextParser \\ " die is gemaakt voor u de volgende code . prive PDFParser parser = null GO //Uittreksel tekst uit PDF Document openbare PDFTextParser ( string filename ) { file file = new file ( fileName ) ; ( ! file.isFile ( ) ) GO als { System.err.println ( \\ "Bestand \\ " + fileName + \\ " . bestaat niet \\ " ) GO } //Set up exemplaar van PDF- parser try { parser = new PDFParser (nieuw FileInputStream ( file ) ) GO } catch ( IOException e ) { System.err.println ( \\ "Onbekwaam om PDF -parser te openen . \\ " + 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 ) < br /> GO //krijgt lijst van alle pagina's lijst list = pdDoc.getDocumentCatalog ( ) . getAllPages ( ) GO < br /> //notitie die u kunt uitprinten alle pagina's die u //wil door te kiezen voor verschillende waarden van de begin-en eindpagina pdfStripper.setStartPage ( 1 ) ; //1 - based int lengte = list.size ( ) ; //totaal aantal pagina's pdfStripper.setEndPage ( lengte ) ; //laatste pagina < br /> //krijgen de tekst van de geselecteerde pagina's parsedText = pdfStripper.getText ( PDDoc ) GO } catch ( IOException e ) { System.err . println ( \\ " Een uitzondering opgetreden bij het ontleden van het PDF- document . \\ " + e.getMessage ( ) ) GO ; } {eindelijk try { if ( ! cosDoc = null ) cosDoc.close ( ) GO if ( PDDoc ! = null ) pdDoc.close ( ) GO } catch ( IOException e ) { e.printStackTrace ( ) < br /> GO } } terugkeer parsedText GO } 14 Voer het programma uit . Klik met de rechtermuisknop op het PDFTextParser klas en klik op \\ " Uitvoeren als \\ " en dan op \\ " Java-programma . \\ " Het programma moet worden uitgevoerd en print de tekst inhoud van de door u in uw code ingevoerd PDF-bestand . onderdrukken log4j Startup Error Message 15 Maak een configuratiebestand naar de Java- logging systeem log4j foutmelding gemaakt wanneer het een configuratie bestand niet kan vinden bij het opstarten onderdrukken . Klik met de rechtermuisknop op de map van de PrintPDF project en selecteer \\ " Nieuw \\ " en dan \\ " File . \\ " Naam van het bestand \\ " log4j.properties \\ " Eclipse verschijnt \\ " src \\ " een leeg scherm voor deze nieuwe bestand . 16 Plak de volgende regels in het lege scherm die de \\ " log4j.properties \\ " bestand . ; # Stel root- logger niveau te debuggen en zijn alleen appender naar A1 log4j.rootLogger = WARN , A1 # A1 is ingesteld op een ConsoleAppender zijn < . . br /> log4j.appender.A1 = org.apache.log4j.ConsoleAppender # A1 gebruikt PatternLayout . log4j.appender.A1.layout = org.apache . log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern = % - 4r [ % t ] % - 5p % c % x - % m % n 17 Sla de \\ " log4j.properties \\ " bestand . De aanwezigheid van dit bestand in de top - level \\ " src \\ " directory zal de log4j startup bericht en eventuele triviale houtkap berichten te onderdrukken . Het log4j systeem zal uitprinten alleen feitelijke fouten .
|