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.