PDF fájl olvasása Java nyelven

Egy irodában dolgozó nő

Kép jóváírása: Pixland/Pixland/Getty Images

Nem nehéz elolvasni a PDF-fájlokat Java nyelven könnyen elérhető könyvtárak segítségével. A PDF-fájlok olvasása lehetővé teszi, hogy olyan Java-programokat írjon, amelyek képesek feldolgozni a fájlok szövegét. A PDF-fájlok olvasásának egyik lehetősége az ingyenes, nyílt forráskódú PDFBox könyvtár, amely az Apache-tól érhető el. Az Eclipse Java fejlesztői platform megkönnyíti ezt a munkát, és kezeli a letöltendő könyvtárakat. Ezen Java könyvtárak használatához ismernie kell a Java programozást.

Gyűjtsd össze a szükséges könyvtárakat

1. lépés

Töltse le a Java JDK-t a Sun webhelyéről. Ez egy futtatható fájl, amelyet futtatásával telepíthet a rendszerére. Verziók elérhetők Windows, Mac és Linux rendszerekre. Kattintson a piros "Letöltés" gombra. Mentse el a „jdk-6uxx-windows-xxx.exe” nevű fájlt, amikor a rendszer kéri. Mentse el ezt a fájlt, majd kattintson rá duplán a Java telepítő elindításához.

A nap videója

2. lépés

Töltse le az Eclipse fejlesztőrendszert, és csomagolja ki egy legfelső szintű könyvtárba. Válassza az „Eclipse IDE for Java Developers” lehetőséget. Ezzel elindul az „eclipse-java-galileo-SR2-win32.zip” letöltése. A letöltés befejezése után kattintson duplán a fájlra a kicsomagolásához. Válassza ki a "C:" gyökérkönyvtár helyét az Eclipse kicsomagolásához.

3. lépés

Az Eclipse elindításához kattintson duplán az „eclipse.exe” fájlra az eclipse zip fájl kicsomagolásával létrehozott könyvtárban. Az Eclipse rendszerben hozzon létre egy "PrintPdf" nevű projektet. Válassza a "Fájl", majd az "Új", majd a "Java projekt" lehetőséget. A megjelenő párbeszédablakban írja be a projekt nevét "PrintPdf". Győződjön meg arról, hogy be van jelölve a „Külön mappák létrehozása a forrás- és osztályfájlokhoz” választógomb. Kattintson a "Befejezés" gombra.

4. lépés

Hozzon létre egy "lib" mappát a "PrintPdf" projektben. Kattintson a jobb gombbal a "PrintPdf" projektre, és válassza az "Új", majd a "Mappa" lehetőséget. Írja be a "lib" nevet, és kattintson a "Befejezés" gombra.

5. lépés

Töltse le az Apache "PDFBox.jar" fájlt az Apache webhelyről, és másolja be az imént létrehozott lib könyvtárba. Ugyanazon a weboldalon töltse le a "fontbox-nn.jar" és a "jempbox-nn.jar" fájlt. Minden esetben, amikor rákattint az adott jar fájlra, egy oldalra jut, ahol kiválaszthat egyet a több szerver közül, amelyek biztosítják ezt a fájlt. Válassza ki mindegyiket, és minden jar fájl letöltődik. Másoljon minden jar fájlt az imént létrehozott lib könyvtárba.

6. lépés

Ugyanilyen módon töltse le az Apache log4j.jar csomagot, és másolja be a log4j.jar fájlt a könyvtárba. Az Apache PDFBox könyvtár ezt az Apache naplózási könyvtárat használja, ezért ennek a fájlnak jelen kell lennie.

7. lépés

Töltse le az Apache Commons Discovery csomagot zip fájlként. Kattintson duplán a zip fájlra, válassza ki a „commons-discovery-nn.jar” fájlt, és csomagolja ki a lib könyvtárba.

8. lépés

Az Eclipse programban kattintson a "lib" könyvtárra, és nyomja meg az "F5" billentyűt. Győződjön meg arról, hogy az összes hozzáadott jar fájl megjelenik.

9. lépés

Kattintson a jobb gombbal a PrintPDF projektre, és válassza a "Tulajdonságok" lehetőséget. Válassza a "Java Build Path" lehetőséget, majd válassza a "Könyvtárak" fület. Kattintson a "Jars hozzáadása" gombra, lépjen az imént létrehozott lib könyvtárba, és adja hozzá a "commons-logging-nn.jar" "fontbox-nn.jar", "jempbox-nn.jar", "log4j-nn.jar" fájlokat. " és "pdfbox-nn.jar." Kattintson az "OK" gombra.

Írja meg a kódot a PDF-ek olvasásához

1. lépés

Kattintson jobb gombbal a "PrintPDF" projekt "src" mappájára, és válassza az "Új" és a "Csomag" lehetőséget. Hozzon létre egy csomagot bármilyen értelmes név használatával. Például nevezze el a csomagot „com.pdf.util”. Kattintson a "Befejezés" gombra.

2. lépés

Kattintson a jobb gombbal az imént létrehozott csomag nevére, és válassza az "Új", majd az "Osztály" lehetőséget. Hozzon létre egy osztályt nevű "PDFTextParser." Feltétlenül jelölje be a "nyilvános statikus void fő..." jelölőnégyzetet, hogy a rendszer létrehozza a "fő" módszer.

3. lépés

Szerkessze a "main" metódust a "PDFTextParser" osztályban, hogy az tartalmazza a következő kódot:

public static void main (String args[]){ PDFTextParser pdf = new PDFTextParser("data/javaPDF.pdf") GO //eredmények kinyomtatása System.out.println (pdf.getParsedText()) GO }

Vegye figyelembe, hogy a kinyomtatni kívánt fájl a PDFTextParser konstruktorában van kiírva ("data/JavaPDF.pdf"). Ugyanilyen könnyen lehet parancssori argumentum is:

PDFTextParser pdf = új PDFTextParser (argv[0])

MEGY

vagy grafikus felhasználói felületről van kiválasztva.

Létrehozza a PDFTextParser osztály példányát, majd meghívja a "getParsedText" metódust.

4. lépés

Illessze be a következő kódot közvetlenül az Ön számára létrehozott „public class PDFTextParser” felső osztályú sor alá.

privát PDFParser elemző = null GO

// Szöveg kibontása a PDF-dokumentumból. public PDFTextParser (String fileName) { Fájlfájl = új Fájl (fájlnév)

GO if (!file.isFile()) { System.err.println("A fájl " + fájlnév + " nem létezik.") GO } //PDF-elemző példányának beállítása try { parser = new PDFParser (új FileInputStream (fájl)) GO } catch (IOException e) { System.err.println("Nem lehet megnyitni a PDF-et Elemző. " + e.getMessage()) GO } } // public String getParsedText() { PDDocument pdDoc = null GO COSDocument cosDoc = null;
String parsedText = null; MEGY

próbálkozzon { PDFTextStripper pdfStripper = new PDFTextStripper()

GO parser.parse() GO cosDoc = parser.getDocument() GO pdDoc = új PDDocument (cosDoc) GO

//összes oldal lista lekérése Lista< PDPage> list = pdDoc.getDocumentCatalog().getAllPages()

MEGY

//megjegyzendő, hogy tetszőleges oldalt kinyomtathat //a kezdő- és záróoldal különböző értékeinek kiválasztásával pdfStripper.setStartPage (1); //1-alapú int hossz = list.size(); //oldalak teljes száma pdfStripper.setEndPage (hosszúság); //utolsó oldal //a kijelölt oldalak szövegének lekérése parsedText = pdfStripper.getText (pdDoc)

GO } catch (IOException e) { System.err .println("Kivétel történt a PDF-dokumentum elemzése során." + e.getMessage()) GO } végül { try { if (cosDoc != null) cosDoc.close() GO if (pdDoc != null) pdDoc.close() GO } catch (IOException e) { e.printStackTrace() GO } }
vissza parsedText GO }

5. lépés

Futtassa a programot. Kattintson a jobb gombbal a PDFTextParser osztályra, és kattintson a "Futtatás másként", majd a "Java program" elemre. A programnak futnia kell, és ki kell nyomtatnia a kódban megadott PDF-fájl szöveges tartalmát.

Log4j indítási hibaüzenet letiltása

1. lépés

Hozzon létre egy konfigurációs fájlt a Java naplózási rendszer log4j hibaüzenetének letiltásához, amely akkor jön létre, amikor a rendszer nem talál konfigurációs fájlt az indításkor. Kattintson a jobb gombbal a PrintPDF projekt "src" mappájára, és válassza az "Új", majd a "Fájl" lehetőséget. Nevezze el a fájlt "log4j.properties" Az Eclipse egy üres képernyőt jelenít meg az új fájl számára.

2. lépés

Illessze be a következő sorokat a „log4j.properties” fájlt képviselő üres képernyőre.

3. lépés

Mentse el a "log4j.properties" fájlt. Ennek a fájlnak a legfelső szintű "src" könyvtárában való jelenléte elnyomja a log4j indítóüzenetét és a triviális naplózási üzeneteket. A log4j rendszer csak a tényleges hibákat írja ki.

Tipp

Számos kereskedelmi csomag is létezik, amelyek segítségével szöveget vonhat ki PDF-fájlokból, de ezek nem olcsók.