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é.