Ako čítať súbor PDF v jazyku Java

Žena pracujúca v kancelárii

Kredit za obrázok: Pixland/Pixland/Getty Images

Nie je ťažké čítať súbory PDF v jazyku Java pomocou knižníc, ktoré sú ľahko dostupné. Čítanie súborov PDF vám umožňuje písať programy Java, ktoré dokážu spracovať text v týchto súboroch. Jednou z možností na čítanie súborov PDF je bezplatná knižnica PDFBox s otvoreným zdrojovým kódom dostupná od Apache. Vývojová platforma Eclipse Java túto prácu uľahčuje a spravuje knižnice, ktoré budete sťahovať. Aby ste mohli používať tieto Java knižnice, musíte byť oboznámení s programovaním Java.

Zhromaždite potrebné knižnice

Krok 1

Stiahnite si Java JDK z webovej stránky Sun. Toto je spustiteľný súbor, ktorý si môžete nainštalovať do svojho systému spustením. Verzie sú dostupné pre Windows, Mac a Linux. Kliknite na červené tlačidlo „Stiahnuť“. Po zobrazení výzvy uložte súbor s názvom „jdk-6uxx-windows-xxx.exe“. Uložte tento súbor a potom naň dvakrát kliknite, čím spustíte inštalačný program Java.

Video dňa

Krok 2

Stiahnite si vývojový systém Eclipse a rozbaľte ho do adresára najvyššej úrovne. Vyberte „Eclipse IDE pre vývojárov Java“. Tým sa spustí sťahovanie súboru „eclipse-java-galileo-SR2-win32.zip“. Dvojitým kliknutím na súbor ho po dokončení sťahovania rozbalíte. Vyberte umiestnenie koreňového adresára "C:" na rozbalenie Eclipse.

Krok 3

Spustite Eclipse dvojitým kliknutím na „eclipse.exe“ v adresári, ktorý ste práve vytvorili rozbalením zipsu Eclipse. V systéme Eclipse vytvorte projekt s názvom „PrintPdf“. Vyberte „Súbor“, potom „Nový“ a potom „Projekt Java“. Do zobrazeného dialógového okna zadajte názov projektu „PrintPdf“. Uistite sa, že je vybratý prepínač „Vytvoriť samostatné priečinky pre zdrojové súbory a súbory triedy“. Kliknite na „Dokončiť“.

Krok 4

Vytvorte priečinok „lib“ vo svojom projekte „PrintPdf“. Kliknite pravým tlačidlom myši na projekt „PrintPdf“ a vyberte „Nový“ a potom „Priečinok“. Zadajte názov „lib“ a kliknite na „Dokončiť“.

Krok 5

Stiahnite si Apache "PDFBox.jar" zo stránky Apache a skopírujte ho do adresára lib, ktorý ste práve vytvorili. Na tej istej webovej stránke si stiahnite súbory „fontbox-nn.jar“ a „jempbox-nn.jar“. V každom prípade, keď kliknete na daný súbor jar, dostanete sa na stránku, kde si môžete vybrať jeden z niekoľkých serverov, ktoré môžu poskytnúť tento súbor. Vyberte si každý z nich a každý súbor jar sa stiahne. Skopírujte každý súbor jar do adresára lib, ktorý ste práve vytvorili.

Krok 6

Stiahnite si balík Apache log4j.jar rovnakým spôsobom a skopírujte súbor log4j.jar do adresára. Knižnica Apache PDFBox používa túto protokolovaciu knižnicu Apache, takže tento súbor musí byť prítomný.

Krok 7

Stiahnite si balík Apache Commons Discovery ako súbor zip. Dvakrát kliknite na súbor zip, vyberte súbor „commons-discovery-nn.jar“ a rozbaľte ho do adresára lib.

Krok 8

V Eclipse kliknite na adresár "lib" a stlačte "F5." Uistite sa, že sú zobrazené všetky súbory jar, ktoré ste pridali.

Krok 9

Kliknite pravým tlačidlom myši na projekt PrintPDF a vyberte „Vlastnosti“. Vyberte "Java Build Path" a vyberte kartu "Knižnice". Kliknite na „Pridať poháre“ a prejdite do adresára lib, ktorý ste práve vytvorili, a pridajte „commons-logging-nn.jar“, „fontbox-nn.jar“, „jempbox-nn.jar,“ „log4j-nn.jar “ a „pdfbox-nn.jar.“ Kliknite na „OK“.

Napíšte kód na čítanie súborov PDF

Krok 1

Kliknite pravým tlačidlom myši na priečinok „src“ vášho projektu „PrintPDF“ a vyberte „Nový“ a „Balík“. Vytvorte balík s ľubovoľným zmysluplným názvom. Napríklad pomenujte balík "com.pdf.util." Kliknite na „Dokončiť“.

Krok 2

Kliknite pravým tlačidlom myši na názov balíka, ktorý ste práve vytvorili, a vyberte „Nový“ a potom „Trieda“. Vytvorte triedu s názvom "PDFTextParser." Nezabudnite kliknúť na začiarkavacie políčko označené „public static void main...“, aby systém vytvoril a „hlavná“ metóda.

Krok 3

Upravte metódu "main" v triede "PDFTextParser" tak, aby obsahovala nasledujúci kód:

public static void main (String args[]){ PDFTextParser pdf = new PDFTextParser("data/javaPDF.pdf") GO //vytlačiť výsledky System.out.println (pdf.getParsedText()) GO }

Všimnite si, že súbor, ktorý chcete vytlačiť, je napísaný v konštruktore PDFTextParser ("data/JavaPDF.pdf"). Rovnako ľahko to môže byť argument príkazového riadku:

PDFTextParser pdf = nový PDFTextParser (argv[0])

Ísť

alebo vybraté z rozhrania GUI.

Vytvorí inštanciu triedy PDFTextParser a potom zavolá jej metódu „getParsedText“.

Krok 4

Vložte nasledujúci kód tesne pod riadok najvyššej triedy „public class PDFTextParser“, ktorý bol vytvorený pre vás.

súkromný analyzátor PDFParser = null GO

// Extrahujte text z dokumentu PDF. public PDFTextParser (String fileName) { File file = new File (fileName)

GO if (!file.isFile()) { System.err.println("Súbor " + názov súboru + " neexistuje.") GO } //Nastaviť inštanciu analyzátora PDF skúste { parser = new PDFParser (new FileInputStream (súbor)) GO } catch (IOException e) { System.err.println("PDF sa nedá otvoriť Analyzátor. " + e.getMessage()) GO } } // public String getParsedText() { PDDocument pdDoc = null GO COSDocument cosDoc = null;
String parsedText = null; Ísť

skúste { PDFTextStripper pdfStripper = new PDFTextStripper()

GO parser.parse() GO cosDoc = parser.getDocument() GO pdDoc = nový PDDocument (cosDoc) GO

//získanie zoznamu všetkých stránok Zoznam< PDPage> zoznam = pdDoc.getDocumentCatalog().getAllPages()

Ísť

//všimnite si, že si môžete vytlačiť ľubovoľné strany // výberom rôznych hodnôt úvodnej a koncovej stránky pdfStripper.setStartPage (1); //dĺžka int založená na 1 = list.size(); //celkový počet strán pdfStripper.setEndPage (dĺžka); //posledná strana //získanie textu pre vybraté stránky parsedText = pdfStripper.getText (pdDoc)

GO } catch (IOException e) { System.err .println("Pri analýze dokumentu PDF sa vyskytla výnimka." + e.getMessage()) GO } konečne { try { if (cosDoc != null) cosDoc.close() GO if (pdDoc != null) pdDoc.close() GO } catch (IOException e) { e.printStackTrace() GO } }
vrátiť parsedText GO }

Krok 5

Spustite program. Kliknite pravým tlačidlom myši na triedu PDFTextParser a kliknite na „Spustiť ako“ a potom na „Program Java“. Program by sa mal spustiť a vytlačiť textový obsah súboru PDF, ktorý ste zadali do kódu.

Potlačiť chybové hlásenie pri spustení Log4j

Krok 1

Vytvorte konfiguračný súbor na potlačenie chybového hlásenia log4j systému protokolovania Java vytvoreného, ​​keď nemôže nájsť konfiguračný súbor pri spustení. Kliknite pravým tlačidlom myši na priečinok „src“ projektu PrintPDF a vyberte „Nový“ a potom „Súbor“. Pomenujte súbor "log4j.properties" Eclipse zobrazí prázdnu obrazovku pre tento nový súbor.

Krok 2

Vložte nasledujúce riadky na prázdnu obrazovku predstavujúcu súbor "log4j.properties".

Krok 3

Uložte súbor "log4j.properties". Prítomnosť tohto súboru v adresári „src“ najvyššej úrovne potlačí spúšťaciu správu log4j a akékoľvek triviálne správy o protokolovaní. Systém log4j vytlačí iba skutočné chyby.

Tip

Existuje aj množstvo komerčných balíkov, ktoré môžete použiť na extrahovanie textu zo súborov PDF, nie sú však lacné.