Apache PDFBox: Teljes körű PDF eszközkészlet Java-hoz
Szöveg kinyerése, dokumentumok manipulálása, űrlapok kitöltése és egyebek - mindezt tiszta Java-ban
Mi az Apache PDFBox?
Az Apache PDFBox egy hatékony nyílt forráskódú Java könyvtár, amely zökkenőmentes PDF feldolgozást tesz lehetővé Java-ban, lehetővé téve a fejlesztők számára PDF dokumentumok programozott létrehozását, szerkesztését és tartalmának kinyerését. Mint az egyik legnépszerűbb Java PDF könyvtár, a PDFBox kiválóan teljesít olyan feladatokban, mint szöveg kinyerése PDF-ből, több PDF fájl egyesítése és digitális aláírások hozzáadása, mindezt egy könnyű API-val és nulla licenc költséggel. Legyen szó PDF elemzésről Java-ban, PDF generálásról vagy PDF/A megfelelőségről, ez a könyvtár támogatja az OCR integrációt, űrlapkitöltést és HTML-ből PDF-be konvertálás. Maven-kész függőségekkel (pl. pdfbox-maven) és átfogó dokumentációval a PDFBox leegyszerűsíti az összetett munkafolyamatokat - ideális vállalati alkalmazásokhoz, dokumentum automatizáláshoz és adatkinyeréshez. Alternatívákhoz (pl. iText) képest az Apache PDFBox kiemelkedik nyílt forráskódú rugalmasságával, aktív közösségével és többplatformos kompatibilitásával. Fedezze fel PDFBox oktatóanyagunkat Java kódpéldák megismeréséhez és a PDF manipuláció teljes potenciáljának felszabadításához Java-ban.
A PDFBox legfőbb előnyei:
- Teljes megoldás: Kinyerési és létrehozási képességek egyaránt
- Tiszta Java: Nincs natív függőség
- Aktív fejlesztés: Az Apache Software Foundation támogatja
- Átfogó funkciók: Szövegkinyerés, darabolás, egyesítés, aláírás
- Űrlaptámogatás: PDF űrlapok olvasása és kitöltése
Ideális dokumentumkezelő rendszerekhez, tartalomkinyeréshez és PDF automatizáláshoz.
Miért válasszuk a PDFBox-ot?
- Érettség: Stabil 2002 óta, rendszeres frissítésekkel
- Sokoldalúság: Olvasási és írási képességek egyaránt
- Szabványtámogatás: Kezeli a PDF 1.7 és PDF/A dokumentumokat
- Közösség: Nagy felhasználói bázis és kiterjedt dokumentáció
- Integráció: Minden Java-alapú keretrendszerrel működik
Telepítés
A PDFBox elérhető a Maven Central-on, könnyű integráció érdekében:
Maven
org.apache.pdfbox
pdfbox
3.0.0
Gradle
implementation 'org.apache.pdfbox:pdfbox:3.0.0'
Rendszerkövetelmények: Java 8 vagy újabb
Kódpéldák
Gyakorlati példák a PDFBox képességeire:
1. példa: Alapvető szövegkinyerés PDF dokumentumból Java-ban
Ez a példa bemutatja, hogyan nyerhetünk ki szöveget PDF dokumentumból a formázás és szerkezet megőrzése mellett. A PDFBox fejlett szövegkinyerési képességeket biztosít, amelyek megőrzik az olvasási sorrendet és kezelik az összetett elrendezéseket.
A kimenet tartalmazza:
- Strukturált szöveges tartalmat
- Oldalankénti kinyerést
- Alapvető formázás megőrzését
2. példa: PDF dokumentum létrehozása a semmiből Java-ban
A PDFBox kiválóan teljesít mind az olvasásban, mind a PDF-ek létrehozásában. Ez a példa egy új PDF dokumentum generálását mutatja be szöveggel és alapvető formázással.
3. példa: Fejlécek és láblécek hozzáadása PDF oldalakhoz Java-ban
A PDFBox átfogó támogatást nyújt fejlécek és láblécek hozzáadásához PDF oldalakhoz Java alkalmazásból. Az alábbi kódpélda bemutatja, hogyan érhetjük ezt el a PDFBox Java API-val.
Haladó funkciók
A PDFBox támogatja a professzionális PDF feldolgozást:
- Képek kinyerése: Beágyazott képek elérése:
Képek kinyerése
PDDocument document = PDDocument.load(new File("document.pdf")); for (PDPage page : document.getPages()) { PDResources resources = page.getResources(); for (COSName name : resources.getXObjectNames()) { PDXObject xobject = resources.getXObject(name); if (xobject instanceof PDImageXObject) { BufferedImage image = ((PDImageXObject) xobject).getImage(); // Kép feldolgozása } } }
- Dokumentum darabolása: PDF-ek felosztása több fájlba:
PDF darabolása
Splitter splitter = new Splitter(); List
pages = splitter.split(document); for (int i = 0; i < pages.size(); i++) { pages.get(i).save("page-" + (i+1) + ".pdf"); } - Titkosított PDF-ek: Jelszóval védett fájlok kezelése:
Titkosított PDF
String password = "secure123"; FileInputStream fis = new FileInputStream("encrypted.pdf"); PDDocument doc = PDDocument.load(fis, password);
PDFBox vs iText
Íme az 5 fő különbség a PDFBox és az iText között:
- Licenc: A PDFBox Apache licenccel rendelkezik (nyílt forráskódú), míg az iText legtöbb esetben kereskedelmi licencet igényel
- Funkció hangsúly: A PDFBox kiegyensúlyozott olvasási/írási képességeket biztosít, míg az iText a PDF generálásra specializálódott
- Teljesítmény: Az iText általában gyorsabb dokumentum létrehozásban, míg a PDFBox jobb szövegkinyerésben
- Közösség: A PDFBox-nak szélesebb nyílt forráskódú felhasználói bázisa van, míg az iText professzionális támogatást kínál
- Használati esetek: A PDFBox ideális elemzéshez és alapvető manipulációhoz, míg az iText jobb nagy mennyiségű PDF generáláshoz
Összegzés
Az Apache PDFBox átfogó PDF feldolgozást kínál Java fejlesztőknek. Ideális:
- Tartalomkinyeréshez: Szöveg és adat kitakarítása PDF-ből
- Dokumentum automatizáláshoz: Jelentések és űrlapok generálása
- Dokumentumkezeléshez: PDF-ek darabolása, egyesítése és átalakítása
- Űrlapfeldolgozáshoz: Interaktív űrlapok olvasása és kitöltése
Nyílt forráskódú licencével és átfogó funkciókészletével a PDFBox a legjobb választás Java-alapú PDF feldolgozáshoz.
Hasonló Termékek
- Apache POI XWPF | Nyílt forráskódú Java API a DOCX-fájlok létrehozásához és módosításához
- DocX | Nyílt forráskódú .NET API DOCX-fájlok létrehozásához és módosításához
- Docx4J | Nyílt forráskódú Java API DOC és DOCX fájlok létrehozásához és módosításához
- ExcelDataReader | Nyílt forráskódú .NET API az XLS, XLSX, CSV és táblázatos dokumentumok olvasásához
- FileFormat.Cells | Cerate és frissítse az Excel fájlokat a C# .NET segítségével