Kaip skaityti PDF failą Java

click fraud protection
Moteris dirbanti biure

Vaizdo kreditas: Pixland / Pixland / Getty Images

Nesunku skaityti PDF failus Java naudojant lengvai prieinamas bibliotekas. Skaitydami PDF failus galite rašyti Java programas, kurios gali apdoroti tuose failuose esantį tekstą. Viena iš PDF failų skaitymo galimybių yra nemokama atvirojo kodo PDFBox biblioteka, kurią galima įsigyti iš Apache. „Eclipse Java“ kūrimo platforma palengvina šį darbą ir tvarko bibliotekas, kurias atsisiųsite. Norėdami naudotis šiomis Java bibliotekomis, turite būti susipažinę su Java programavimu.

Surinkite reikalingas bibliotekas

1 žingsnis

Atsisiųskite „Java JDK“ iš „Sun“ svetainės. Tai vykdomasis failas, kurį galite įdiegti savo sistemoje jį paleisdami. Galimos versijos, skirtos „Windows“, „Mac“ ir „Linux“. Spustelėkite raudoną mygtuką „Atsisiųsti“. Kai būsite paraginti, išsaugokite failą pavadinimu „jdk-6uxx-windows-xxx.exe“. Išsaugokite šį failą ir dukart spustelėkite jį, kad paleistumėte „Java“ diegimo programą.

Dienos vaizdo įrašas

2 žingsnis

Atsisiųskite „Eclipse“ kūrimo sistemą ir išpakuokite ją į aukščiausio lygio katalogą. Pasirinkite „Eclipse IDE Java Developers“. Bus pradėtas „eclipse-java-galileo-SR2-win32.zip“ atsisiuntimas. Dukart spustelėkite failą, kad išpakuotumėte jį, kai atsisiuntimas bus baigtas. Pasirinkite „C:“ šakninio katalogo vietą, kad išpakuotumėte „Eclipse“.

3 veiksmas

Paleiskite „Eclipse“ dukart spustelėdami „eclipse.exe“ kataloge, kurį ką tik sukūrėte išpakuodami „eclipse zip“ failą. „Eclipse“ sistemoje sukurkite projektą pavadinimu „PrintPdf“. Pasirinkite „Failas“, tada „Naujas“, tada „Java projektas“. Pasirodžiusiame dialogo lange įveskite projekto pavadinimą „PrintPdf“. Įsitikinkite, kad pasirinktas radijo mygtukas „Sukurti atskirus aplankus šaltinio ir klasės failams“. Spustelėkite „Baigti“.

4 veiksmas

Sukurkite aplanką „lib“ savo „PrintPdf“ projekte. Dešiniuoju pelės mygtuku spustelėkite projektą „PrintPdf“ ir pasirinkite „Naujas“, tada „Aplankas“. Įveskite pavadinimą „lib“ ir spustelėkite „Baigti“.

5 veiksmas

Atsisiųskite „Apache“ „PDFBox.jar“ iš „Apache“ svetainės ir nukopijuokite ją į ką tik sukurtą lib katalogą. Tame pačiame tinklalapyje atsisiųskite „fontbox-nn.jar“ ir „jempbox-nn.jar“ failus. Kiekvienu atveju, kai spustelėsite tą jar failą, pateksite į puslapį, kuriame galėsite pasirinkti vieną iš kelių serverių, galinčių pateikti šį failą. Pasirinkite kiekvieną iš jų ir bus atsisiųstas kiekvienas jar failas. Nukopijuokite kiekvieną jar failą į ką tik sukurtą lib katalogą.

6 veiksmas

Atsisiųskite Apache log4j.jar paketą tokiu pat būdu ir nukopijuokite log4j.jar failą į katalogą. Apache PDFBox biblioteka naudoja šią Apache registravimo biblioteką, todėl šis failas turi būti.

7 veiksmas

Atsisiųskite „Apache Commons Discovery“ paketą kaip ZIP failą. Dukart spustelėkite ZIP failą, pasirinkite „commons-discovery-nn.jar“ ir išskleiskite jį į lib katalogą.

8 veiksmas

„Eclipse“ spustelėkite „lib“ katalogą ir paspauskite „F5“. Įsitikinkite, kad rodomi visi jūsų pridėti jar failai.

9 veiksmas

Dešiniuoju pelės mygtuku spustelėkite PrintPDF projektą ir pasirinkite „Ypatybės“. Pasirinkite „Java Build Path“ ir pasirinkite skirtuką „Bibliotekos“. Spustelėkite „Pridėti stiklainius“ ir eikite į ką tik sukurtą lib katalogą ir pridėkite „commons-logging-nn.jar“, „fontbox-nn.jar“, „jempbox-nn.jar“, „log4j-nn.jar“. " ir "pdfbox-nn.jar." Spustelėkite „Gerai“.

Parašykite kodą, kad galėtumėte skaityti PDF

1 žingsnis

Dešiniuoju pelės mygtuku spustelėkite „PrintPDF“ projekto aplanką „src“ ir pasirinkite „Naujas“ ir „Paketas“. Sukurkite paketą naudodami bet kokį prasmingą pavadinimą. Pavyzdžiui, pavadinkite paketą „com.pdf.util“. Spustelėkite „Baigti“.

2 žingsnis

Dešiniuoju pelės mygtuku spustelėkite ką tik sukurto paketo pavadinimą ir pasirinkite „Naujas“, tada „Klasė“. Sukurkite klasę pavadinimu „PDFTextParser“. Būtinai spustelėkite žymės langelį, pažymėtą "viešoji statinė galia pagrindinė...", kad sistema sukurtų a „Pagrindinis“ metodas.

3 veiksmas

Redaguokite „pagrindinį“ metodą „PDFTextParser“ klasėje, kad būtų nurodytas šis kodas:

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

Atminkite, kad failas, kurį norite išspausdinti, yra parašytas PDFTextParser ("data/JavaPDF.pdf") konstruktoriuje. Tai taip pat gali būti komandinės eilutės argumentas:

PDFTextParser pdf = naujas PDFTextParser (argv[0])

EIK

arba pasirinkta iš GUI sąsajos.

Jis sukuria PDFTextParser klasės egzempliorių ir iškviečia jos metodą „getParsedText“.

4 veiksmas

Įveskite šį kodą tiesiai po aukščiausios klasės eilute „public class PDFTextParser“, kuri buvo sukurta jums.

privatus PDFParser analizatorius = null GO

// Ištraukite tekstą iš PDF dokumento. public PDFTextParser (Eilutės failo pavadinimas) { Failo failas = naujas Failas (failo pavadinimas)

GO if (!file.isFile()) { System.err.println("Failas " + failo pavadinimas + " neegzistuoja.") GO } //Nustatykite PDF analizatoriaus egzempliorių, pabandykite { analizatorius = naujas PDFParser (naujas FileInputStream (failas)) GO } catch (IOException e) { System.err.println("Nepavyko atidaryti PDF Analizatorius. " + e.getMessage()) GO } } // viešoji eilutė getParsedText() { PDDocument pdDoc = null GO COSDocument cosDoc = null;
Eilutė parsedText = null; EIK

pabandykite { PDFTextStripper pdfStripper = new PDFTextStripper()

GO parser.parse() GO cosDoc = analizatorius.getDocument() GO pdDoc = naujas PDDocument (cosDoc) GO

//gauti visų puslapių sąrašą Sąrašas< PDPage> list = pdDoc.getDocumentCatalog().getAllPages()

EIK

//atkreipkite dėmesį, kad galite atsispausdinti bet kokius norimus puslapius //pasirinkdami skirtingas pradžios ir pabaigos puslapių reikšmes pdfStripper.setStartPage (1); //1 pagrindu int ilgis = list.size(); //bendras puslapių skaičius pdfStripper.setEndPage (ilgis); //paskutinis puslapis //gauti pasirinktų puslapių tekstą parsedText = pdfStripper.getText (pdDoc)

GO } catch (IOException e) { System.err .println("Išimtis įvyko analizuojant PDF dokumentą." + e.getMessage()) GO } pagaliau { pabandykite { if (cosDoc != null) cosDoc.close() GO if (pdDoc != null) pdDoc.close() GO } gaudyti (IOException e) { e.printStackTrace() GO } }
grąžinti analizuotą tekstą GO }

5 veiksmas

Paleiskite programą. Dešiniuoju pelės mygtuku spustelėkite PDFTextParser klasę ir spustelėkite "Vykdyti kaip" ir tada "Java programa". Programa turėtų paleisti ir išspausdinti PDF failo, kurį įvedėte kode, tekstinį turinį.

Išjungti Log4j paleidimo klaidos pranešimą

1 žingsnis

Sukurkite konfigūracijos failą, kad neleistumėte „Java“ registravimo sistemos log4j klaidos pranešimo, sukurto, kai paleidžiant nepavyksta rasti konfigūracijos failo. Dešiniuoju pelės mygtuku spustelėkite „PrintPDF“ projekto aplanką „src“ ir pasirinkite „Naujas“, tada „Failas“. Pavadinkite failą "log4j.properties". Eclipse parodys tuščią šio naujo failo ekraną.

2 žingsnis

Įklijuokite šias eilutes į tuščią ekraną, vaizduojantį failą „log4j.properties“.

3 veiksmas

Išsaugokite failą „log4j.properties“. Šio failo buvimas aukščiausio lygio „src“ kataloge užblokuos log4j paleidimo pranešimą ir visus nereikšmingus registravimo pranešimus. Log4j sistema išspausdins tik faktines klaidas.

Patarimas

Taip pat yra keletas komercinių paketų, kuriuos galite naudoti norėdami išgauti tekstą iš PDF failų, tačiau jie nėra nebrangūs.