Kako čitati PDF datoteku u Javi

click fraud protection
Žena radi u uredu

Zasluga slike: Pixland/Pixland/Getty Images

Nije teško čitati PDF datoteke u Javi pomoću knjižnica koje su lako dostupne. Čitanje PDF datoteka omogućuje vam pisanje Java programa koji mogu obraditi tekst u tim datotekama. Jedna od opcija za čitanje PDF datoteka je besplatna biblioteka PDFBox otvorenog koda dostupna od Apachea. Razvojna platforma Eclipse Java olakšava ovaj posao i upravlja knjižnicama koje ćete preuzimati. Morate biti upoznati s Java programiranjem da biste mogli koristiti ove Java knjižnice.

Prikupite potrebne knjižnice

Korak 1

Preuzmite Java JDK sa Sunove web stranice. Ovo je izvršna datoteka koju možete instalirati na svoj sustav tako da je pokrenete. Dostupne su verzije za Windows, Mac i Linux. Kliknite na crveni gumb "Preuzmi". Spremite datoteku pod nazivom "jdk-6uxx-windows-xxx.exe" kada se to od vas zatraži. Spremite ovu datoteku, a zatim dvaput kliknite na nju za pokretanje Java instalacijskog programa.

Video dana

Korak 2

Preuzmite razvojni sustav Eclipse i raspakirajte ga u direktorij najviše razine. Odaberite "Eclipse IDE za Java programere". Ovo će započeti preuzimanje datoteke "eclipse-java-galileo-SR2-win32.zip." Dvaput kliknite na datoteku da biste je raspakirali nakon dovršetka preuzimanja. Odaberite mjesto korijenskog direktorija "C:" da biste raspakirali Eclipse.

Korak 3

Pokrenite Eclipse dvostrukim klikom na "eclipse.exe" u direktoriju koji ste upravo stvorili raspakiranjem eclipse zip datoteke. U sustavu Eclipse stvorite projekt pod nazivom "PrintPdf". Odaberite "Datoteka", zatim "Novo", a zatim "Java projekt". Upišite naziv projekta "PrintPdf" u dijaloški okvir koji se pojavi. Provjerite je li odabran radio gumb koji kaže "Stvori zasebne mape za izvorne i razredne datoteke". Kliknite "Završi".

4. korak

Napravite mapu "lib" u svom projektu "PrintPdf". Desnom tipkom miša kliknite projekt "PrintPdf" i odaberite "Novo", a zatim "Mapa". Unesite naziv "lib" i kliknite na "Završi".

Korak 5

Preuzmite Apache "PDFBox.jar" s Apache stranice i kopirajte ga u direktorij lib koji ste upravo stvorili. Na istoj web stranici preuzmite datoteku "fontbox-nn.jar" i datoteku "jempbox-nn.jar". U svakom slučaju, kada kliknete na tu jar datoteku, odvest će vas na stranicu na kojoj možete odabrati jedan od nekoliko poslužitelja koji mogu pružiti ovu datoteku. Odaberite svaki od njih i svaka jar datoteka će se preuzeti. Kopirajte svaku jar datoteku u direktorij lib koji ste upravo stvorili.

Korak 6

Preuzmite Apache log4j.jar paket na isti način i kopirajte datoteku log4j.jar u direktorij. Apache PDFBox knjižnica koristi ovu Apache biblioteku zapisivanja, tako da ova datoteka mora biti prisutna.

Korak 7

Preuzmite Apache Commons Discovery paket kao zip datoteku. Dvaput kliknite na zip datoteku, odaberite "commons-discovery-nn.jar" i raspakirajte je u lib direktorij.

Korak 8

U Eclipseu kliknite na direktorij "lib" i pritisnite "F5". Provjerite jesu li prikazane sve jar datoteke koje ste dodali.

Korak 9

Desnom tipkom miša kliknite projekt PrintPDF i odaberite "Svojstva". Odaberite "Put izgradnje Java" i odaberite karticu "Knjižnice". Kliknite na "Add tegle" i idite na lib direktorij koji ste upravo kreirali i dodajte "commons-logging-nn.jar" "fontbox-nn.jar", "jempbox-nn.jar", "log4j-nn.jar ," i "pdfbox-nn.jar." Kliknite na "OK".

Napišite kod za čitanje PDF-ova

Korak 1

Desnom tipkom miša kliknite mapu "src" vašeg "PrintPDF" projekta i odaberite "Novo" i "Paket". Napravite paket koristeći bilo koji smisleni naziv. Na primjer, nazovite paket "com.pdf.util". Kliknite "Završi".

Korak 2

Desnom tipkom miša kliknite naziv paketa koji ste upravo stvorili i odaberite "Novo", a zatim "Klasa". Napravite klasu pod nazivom "PDFTextParser." Obavezno kliknite potvrdni okvir s oznakom "javna statična void glavna..." tako da će sustav stvoriti a "glavna" metoda.

Korak 3

Uredite "main" metodu u klasi "PDFTextParser" tako da sadrži sljedeći kod:

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

Imajte na umu da je datoteka koju želite ispisati napisana u konstruktoru za PDFTextParser ("data/JavaPDF.pdf"). To bi jednako lako mogao biti argument naredbenog retka:

PDFTextParser pdf = novi PDFTextParser (argv[0])

IĆI

ili odabrano iz GUI sučelja.

Stvara instancu klase PDFTextParser, a zatim poziva njenu metodu "getParsedText".

4. korak

Umetnite sljedeći kod odmah ispod retka najviše klase "public class PDFTextParser" koji je kreiran za vas.

privatni PDFParser parser = null GO

// Ekstrakt teksta iz PDF dokumenta. javni PDFTextParser (String fileName) { File file = new File (fileName)

GO if (!file.isFile()) { System.err.println("File " + fileName + " ne postoji.") GO } //Postavite instancu PDF parsera pokušajte { parser = novi PDFParser (novi FileInputStream (datoteka)) GO } catch (IOException e) { System.err.println("Nije moguće otvoriti PDF Parser. " + e.getMessage()) GO } } // public String getParsedText() { PDDocument pdDoc = null GO COSDocument cosDoc = null;
String parsedText = null; IĆI

pokušajte { PDFTextStripper pdfStripper = new PDFTextStripper()

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

//dohvati popis svih stranica List< PDPage> list = pdDoc.getDocumentCatalog().getAllPages()

IĆI

// imajte na umu da možete ispisati sve stranice koje želite // odabirom različitih vrijednosti početne i završne stranice pdfStripper.setStartPage (1); // int duljina na temelju 1 = list.size(); //ukupan broj stranica pdfStripper.setEndPage (dužina); //zadnja stranica //dohvati tekst za odabrane stranice parsedText = pdfStripper.getText (pdDoc)

GO } catch (IOException e) { System.err .println("Došlo je do iznimke prilikom raščlanjivanja PDF dokumenta." + e.getMessage()) GO } konačno { try { if (cosDoc != null) cosDoc.close() GO if (pdDoc != null) pdDoc.close() GO } catch (IOException e) { e.printStackTrace() GO } }
vrati parsedText GO }

Korak 5

Pokrenite program. Desnom tipkom miša kliknite klasu PDFTextParser i kliknite na "Run As", a zatim na "Java program". Program bi trebao pokrenuti i ispisati tekstualni sadržaj PDF datoteke koju ste unijeli u svoj kod.

Suzbiti poruku o pogrešci pri pokretanju Log4j

Korak 1

Izradite konfiguracijsku datoteku za suzbijanje poruke o pogrešci log4j sustava za bilježenje Java koja je nastala kada ne može pronaći konfiguracijsku datoteku kada se pokrene. Desnom tipkom miša kliknite mapu "src" projekta PrintPDF i odaberite "Novo", a zatim "Datoteka". Imenujte datoteku "log4j.properties" Eclipse će prikazati prazan zaslon za ovu novu datoteku.

Korak 2

Zalijepite sljedeće retke na prazan zaslon koji predstavlja datoteku "log4j.properties".

Korak 3

Spremite datoteku "log4j.properties". Prisutnost ove datoteke u direktoriju "src" najviše razine će potisnuti početnu poruku log4j i sve trivijalne poruke zapisivanja. Sustav log4j će ispisati samo stvarne pogreške.

Savjet

Postoji i niz komercijalnih paketa koje možete koristiti za izdvajanje teksta iz PDF datoteka, ali nisu jeftini.