Kā lasīt PDF failu Java

click fraud protection
Sieviete strādā birojā

Attēla kredīts: Pixland/Pixland/Getty Images

Nav grūti lasīt PDF failus Java, izmantojot bibliotēkas, kas ir viegli pieejamas. PDF failu lasīšana ļauj rakstīt Java programmas, kas var apstrādāt tekstu šajos failos. Viena no PDF failu lasīšanas iespējām ir bezmaksas atvērtā koda PDFBox bibliotēka, kas pieejama no Apache. Eclipse Java izstrādes platforma atvieglo šo darbu un pārvalda bibliotēkas, kuras lejupielādēsit. Lai izmantotu šīs Java bibliotēkas, jums ir jāpārzina Java programmēšana.

Apkopojiet nepieciešamās bibliotēkas

1. darbība

Lejupielādējiet Java JDK no Sun vietnes. Šis ir izpildāmais fails, kuru varat instalēt savā sistēmā, to palaižot. Ir pieejamas versijas operētājsistēmai Windows, Mac un Linux. Noklikšķiniet uz sarkanās pogas "Lejupielādēt". Kad tiek prasīts, saglabājiet failu ar nosaukumu "jdk-6uxx-windows-xxx.exe". Saglabājiet šo failu un pēc tam veiciet dubultklikšķi uz tā, lai palaistu Java instalēšanas programmu.

Dienas video

2. darbība

Lejupielādējiet Eclipse izstrādes sistēmu un izpakojiet to augstākā līmeņa direktorijā. Atlasiet "Eclipse IDE Java izstrādātājiem". Tiks sākta faila "eclipse-java-galileo-SR2-win32.zip" lejupielāde. Veiciet dubultklikšķi uz faila, lai pēc lejupielādes pabeigšanas to izsaiņotu. Atlasiet "C:" saknes direktorija atrašanās vietu, lai izspiestu Eclipse.

3. darbība

Palaidiet programmu Eclipse, veicot dubultklikšķi uz "eclipse.exe" direktorijā, kuru tikko izveidojāt, izpakojot eclipse zip failu. Sistēmā Eclipse izveidojiet projektu ar nosaukumu "PrintPdf". Izvēlieties "Fails", pēc tam "Jauns" un pēc tam "Java projekts". Parādītajā dialoglodziņā ierakstiet projekta nosaukumu "PrintPdf". Pārliecinieties, vai ir atlasīta radio poga “Izveidot atsevišķas mapes avota un klases failiem”. Noklikšķiniet uz "Pabeigt".

4. darbība

Izveidojiet mapi "lib" savā "PrintPdf" projektā. Ar peles labo pogu noklikšķiniet uz projekta "PrintPdf" un atlasiet "Jauns" un pēc tam "Mape". Ievadiet nosaukumu "lib" un noklikšķiniet uz "Pabeigt".

5. darbība

Lejupielādējiet Apache "PDFBox.jar" no Apache vietnes un kopējiet to tikko izveidotajā lib direktorijā. Tajā pašā tīmekļa lapā lejupielādējiet failu "fontbox-nn.jar" un failu "jempbox-nn.jar". Katrā gadījumā, noklikšķinot uz šī jar faila, tiks atvērta lapa, kurā varat atlasīt vienu no vairākiem serveriem, kas var nodrošināt šo failu. Izvēlieties katru no tiem, un katrs jar fails tiks lejupielādēts. Kopējiet katru jar failu tikko izveidotajā lib direktorijā.

6. darbība

Tādā pašā veidā lejupielādējiet Apache pakotni log4j.jar un kopējiet failu log4j.jar direktorijā. Apache PDFBox bibliotēka izmanto šo Apache reģistrēšanas bibliotēku, tāpēc šim failam ir jābūt klāt.

7. darbība

Lejupielādējiet Apache Commons Discovery pakotni kā zip failu. Veiciet dubultklikšķi uz zip faila, atlasiet "commons-discovery-nn.jar" un izvelciet to lib direktorijā.

8. darbība

Programmā Eclipse noklikšķiniet uz direktorija "lib" un nospiediet "F5". Pārliecinieties, vai tiek parādīti visi pievienotie jar faili.

9. darbība

Ar peles labo pogu noklikšķiniet uz PrintPDF projekta un atlasiet "Properties". Atlasiet "Java Build Path" un atlasiet cilni "Bibliotēkas". Noklikšķiniet uz "Pievienot burkas" un dodieties uz tikko izveidoto lib direktoriju un pievienojiet "commons-logging-nn.jar" "fontbox-nn.jar", "jempbox-nn.jar", "log4j-nn.jar". ," un "pdfbox-nn.jar." Noklikšķiniet uz "OK".

Uzrakstiet kodu, lai lasītu PDF failus

1. darbība

Ar peles labo pogu noklikšķiniet uz sava "PrintPDF" projekta mapes "src" un atlasiet "Jauns" un "Package". Izveidojiet paketi, izmantojot jebkuru jēgpilnu nosaukumu. Piemēram, nosauciet pakotni "com.pdf.util". Noklikšķiniet uz "Pabeigt".

2. darbība

Ar peles labo pogu noklikšķiniet uz tikko izveidotās pakotnes nosaukuma un atlasiet "Jauns" un pēc tam "Klase". Izveidojiet klasi ar nosaukumu "PDFTextParser." Lai sistēma izveidotu a "galvenā" metode.

3. darbība

Rediģējiet "galveno" metodi klasē "PDFTextParser", lai ietvertu šādu kodu:

public static void main (String args[]){ PDFTextParser pdf = new PDFTextParser("data/javaPDF.pdf") GO //izdrukāt rezultātus System.out.println (pdf.getParsedText()) GO }

Ņemiet vērā, ka fails, kuru vēlaties izdrukāt, ir norādīts PDFTextParser konstruktorā ("data/JavaPDF.pdf"). Tas tikpat viegli varētu būt komandrindas arguments:

PDFTextParser pdf = jauns PDFTextParser (argv[0])

AIZIET

vai atlasīts no GUI interfeisa.

Tas izveido PDFTextParser klases gadījumu un pēc tam izsauc tās metodi getParsedText.

4. darbība

Ievietojiet šo kodu tieši zem augstākās klases rindas "publiskās klases PDFTextParser", kas tika izveidota jums.

privāts PDFParser parsētājs = null GO

// Izvilkt tekstu no PDF dokumenta. publiskais PDFTextParser (virknes faila nosaukums) { Faila fails = jauns fails (faila nosaukums)

GO if (!file.isFile()) { System.err.println("Fails " + faila nosaukums + " neeksistē.") GO } //Iestatiet PDF parsētāja gadījumu, mēģināt { parser = new PDFParser (jauns FileInputStream (fails)) GO } catch (IOException e) { System.err.println("Nevar atvērt PDF failu Parsētājs. " + e.getMessage()) GO } } // publiskā virkne getParsedText() { PDDocument pdDoc = null GO COSDocument cosDoc = null;
Virkne parsedText = null; AIZIET

izmēģiniet { PDFTextStripper pdfStripper = new PDFTextStripper()

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

//iegūt visu lapu sarakstu Saraksts< PDPage> list = pdDoc.getDocumentCatalog().getAllPages()

AIZIET

//ņemiet vērā, ka jūs varat izdrukāt jebkuras vēlamās lapas //izvēloties dažādas sākuma un beigu lapas vērtības pdfStripper.setStartPage (1); //uz 1 balstīta int garums = list.size(); //kopējais lappušu skaits pdfStripper.setEndPage (garums); //pēdējā lapa //iegūstiet atlasīto lapu tekstu parsedText = pdfStripper.getText (pdDoc)

GO } catch (IOException e) { System.err .println("PDF dokumenta parsēšanas laikā radās izņēmums." + e.getMessage()) GO } beidzot {mēģiniet { if (cosDoc != null) cosDoc.close() GO if (pdDoc != null) pdDoc.close() GO } catch (IOException e) { e.printStackTrace() GO } }
atgriezt parsedText GO }

5. darbība

Palaidiet programmu. Ar peles labo pogu noklikšķiniet uz PDFTextParser klases un noklikšķiniet uz "Run As" un pēc tam uz "Java programma". Programmai ir jāpalaiž un jāizdrukā kodā ievadītā PDF faila teksta saturs.

Apspiest Log4j startēšanas kļūdas ziņojumu

1. darbība

Izveidojiet konfigurācijas failu, lai izslēgtu Java reģistrēšanas sistēmas log4j kļūdas ziņojumu, kas tiek izveidots, kad tā nevar atrast konfigurācijas failu, startējot. Ar peles labo pogu noklikšķiniet uz PrintPDF projekta mapes "src" un atlasiet "Jauns" un pēc tam "Fails". Nosauciet failu par "log4j.properties". Eclipse šim jaunajam failam parādīs tukšu ekrānu.

2. darbība

Ielīmējiet šīs rindas tukšajā ekrānā, kas apzīmē failu "log4j.properties".

3. darbība

Saglabājiet failu "log4j.properties". Šī faila klātbūtne augstākā līmeņa "src" direktorijā nomāc log4j startēšanas ziņojumu un visus nenozīmīgos reģistrēšanas ziņojumus. Log4j sistēma izdrukās tikai faktiskās kļūdas.

Padoms

Ir arī vairākas komerciālas pakotnes, kuras varat izmantot, lai izvilktu tekstu no PDF failiem, taču tās nav lētas.