Kuidas lugeda Java-vormingus PDF-faili

Naine töötab kontoris

Pildi krediit: Pixland/Pixland/Getty Images

PDF-failide lugemine Javas hõlpsasti kättesaadavate teekide abil pole keeruline. PDF-failide lugemine võimaldab teil kirjutada Java-programme, mis suudavad nendes failides teksti töödelda. Üks võimalus PDF-failide lugemiseks on Apache'i tasuta avatud lähtekoodiga PDFBoxi teek. Eclipse Java arendusplatvorm muudab selle töö lihtsamaks ja haldab allalaaditavaid teeke. Nende Java teekide kasutamiseks peate olema tuttav Java programmeerimisega.

Koguge vajalikke raamatukogusid

Samm 1

Laadige Java JDK alla Suni veebisaidilt. See on käivitatav fail, mille saate seda käivitades oma süsteemi installida. Versioonid on saadaval Windowsi, Maci ja Linuxi jaoks. Klõpsake punast nuppu "Laadi alla". Kui küsitakse, salvestage fail nimega "jdk-6uxx-windows-xxx.exe". Salvestage see fail ja seejärel topeltklõpsake seda Java installiprogrammi käivitamiseks.

Päeva video

2. samm

Laadige alla Eclipse'i arendussüsteem ja pakkige see lahti tipptasemel kataloogi. Valige "Eclipse IDE Java Developers". See käivitab faili "eclipse-java-galileo-SR2-win32.zip" allalaadimise. Topeltklõpsake failil, et see pärast allalaadimise lõpetamist lahti pakkida. Valige Eclipse'i lahtipakkimiseks juurkataloogi asukoht "C:".

3. samm

Käivitage Eclipse, topeltklõpsates kataloogis "eclipse.exe", mille lõite eclipse'i ZIP-faili lahti pakkides. Looge Eclipse'i süsteemis projekt nimega "PrintPdf". Valige "Fail", seejärel "Uus" ja seejärel "Java projekt". Sisestage kuvatavasse dialoogiboksi projekti nimi "PrintPdf". Veenduge, et valitud on raadionupp "Loo lähte- ja klassifailide jaoks eraldi kaustad". Klõpsake nuppu "Lõpeta".

4. samm

Looge oma "PrintPdf" projektis kaust "lib". Paremklõpsake projektil "PrintPdf" ja valige "New" ja seejärel "Folder". Sisestage nimi "lib" ja klõpsake nuppu "Lõpeta".

5. samm

Laadige Apache saidilt alla Apache "PDFBox.jar" ja kopeerige see äsja loodud lib-kataloogi. Samal veebilehel laadige alla fail "fontbox-nn.jar" ja fail "jempbox-nn.jar". Igal juhul, kui klõpsate sellel jar-failil, viib see teid lehele, kus saate valida ühe mitmest serverist, mis seda faili pakkuda suudab. Valige igaüks neist ja iga jar-fail laaditakse alla. Kopeerige iga jar-fail äsja loodud lib-kataloogi.

6. samm

Laadige samal viisil alla pakett Apache log4j.jar ja kopeerige fail log4j.jar kataloogi. Apache PDFBoxi teek kasutab seda Apache logimise teeki, seega peab see fail olemas olema.

7. samm

Laadige alla Apache Commons Discovery pakett ZIP-failina. Topeltklõpsake ZIP-failil, valige "commons-discovery-nn.jar" ja ekstraktige see lib-kataloogi.

8. samm

Eclipse'is klõpsake kataloogil "lib" ja vajutage "F5". Veenduge, et kuvatakse kõik lisatud jar-failid.

9. samm

Paremklõpsake PrintPDF projektil ja valige "Atribuudid". Valige "Java ehitustee" ja valige vahekaart "Teegid". Klõpsake "Lisa purgid" ja minge äsja loodud lib-kataloogi ning lisage "commons-logging-nn.jar" "fontbox-nn.jar", "jempbox-nn.jar", "log4j-nn.jar". ," ja "pdfbox-nn.jar." Klõpsake nuppu "OK".

Kirjutage PDF-ide lugemiseks kood

Samm 1

Paremklõpsake oma "PrintPDF" projekti kaustal "src" ja valige "New" ja "Package". Looge pakett mis tahes tähendusrikka nimega. Näiteks pange paketile nimi "com.pdf.util". Klõpsake nuppu "Lõpeta".

2. samm

Paremklõpsake just loodud paketi nimel ja valige "Uus" ja seejärel "Klass". Looge klass nimega "PDFTextParser." Märkige kindlasti märkeruut "avalik staatiline tühine põhi...", et süsteem looks a "peamine" meetod.

3. samm

Redigeerige klassi "PDFTextParser" meetodit "peamine", et see sisaldaks järgmist koodi:

public static void main (String args[]){ PDFTextParser pdf = new PDFTextParser("data/javaPDF.pdf") GO //tulemuste printimine System.out.println (pdf.getParsedText()) GO }

Pange tähele, et fail, mida soovite välja printida, on PDFTextParseri ("data/JavaPDF.pdf") konstruktoris välja kirjutatud. See võib sama lihtsalt olla käsurea argument:

PDFTextParser pdf = uus PDFTextParser (argv[0])

MINNA

või valitud GUI liidesest.

See loob klassi PDFTextParser eksemplari ja kutsub seejärel selle meetodi "getParsedText".

4. samm

Sisestage järgmine kood just teie jaoks loodud tippklassi rea "public class PDFTextParser" alla.

privaatne PDFParser parser = null GO

// Väljavõte PDF-dokumendist. public PDFTextParser (String failinimi) { Failifail = uus fail (failinimi)

GO if (!file.isFile()) { System.err.println("Faili " + failinimi + " ei eksisteeri.") GO } //PDF-i parseri eksemplari seadistamine proovi { parser = uus PDFParser (uus FileInputStream (fail)) GO } püüdmine (IOException e) { System.err.println("PDF-i ei saa avada Parser. " + e.getMessage()) GO } } // public String getParsedText() { PDDocument pdDoc = null GO COSDokument cosDoc = null;
String parsedText = null; MINNA

proovige { PDFTextStripper pdfStripper = new PDFTextStripper()

GO parser.parse() GO cosDoc = parser.getDocument() GO pdDoc = uus PDDocument (cosDoc) GO

//hanki kõigi lehtede loend Loend< PDPage> list = pdDoc.getDocumentCatalog().getAllPages()

MINNA

//pange tähele, et saate välja printida kõik soovitud leheküljed //valides algus- ja lõpplehe erinevad väärtused pdfStripper.setStartPage (1); //1-põhine int pikkus = list.size(); //lehekülgede koguarv pdfStripper.setEndPage (pikkus); //viimane leht //valitud lehtede teksti hankimine parsedText = pdfStripper.getText (pdDoc)

GO } catch (IOException e) { System.err .println("PDF-dokumendi sõelumisel ilmnes erand." + e.getMessage()) GO } lõpuks { proovi { if (cosDoc != null) cosDoc.close() GO if (pdDoc != null) pdDoc.close() GO } püüdmine (IOException e) { e.printStackTrace() GO } }
tagasta parsedText GO }

5. samm

Käivitage programm. Paremklõpsake PDFTextParseri klassil ja klõpsake "Run As" ja seejärel "Java programm". Programm peaks käivitama ja välja printima koodi sisestatud PDF-faili teksti sisu.

Supress Log4j käivitamise tõrketeade

Samm 1

Looge konfiguratsioonifail, et maha suruda Java logimissüsteemi log4j tõrketeade, mis luuakse, kui see ei leia käivitamisel konfiguratsioonifaili. Paremklõpsake PrintPDF projekti kaustal "src" ja valige "New" ja seejärel "File". Nimetage faili "log4j.properties". Eclipse kuvab selle uue faili jaoks tühja ekraani.

2. samm

Kleepige järgmised read tühjale ekraanile, mis tähistab faili "log4j.properties".

3. samm

Salvestage fail "log4j.properties". Selle faili olemasolu tipptasemel "src" kataloogis pärsib log4j käivitusteate ja kõik tühised logiteated. Log4j süsteem prindib välja ainult tegelikud vead.

Näpunäide

Samuti on mitmeid kaubanduslikke pakette, mida saate kasutada PDF-failidest teksti eraldamiseks, kuid need ei ole odavad.