Apache PDFBox: Visapusiškai PDF įrankis Java
Išgauti tekstą, manipuliuoti dokumentais, užpildyti formas ir daugiau – viskas grynoje Java
Kas yra Apache PDFBox?
Apache PDFBox yra galinga atviro kodo Java biblioteka, skirta sklandžiam PDF apdorojimui Java, leidžianti kūrėjams programiškai kurti, redaguoti ir išgauti turinį iš PDF dokumentų. Kaip viena populiariausių Java PDF bibliotekų, PDFBox puikiai tinka tokoms užduotims kaip teksto išgavimas iš PDF, kelių PDF failų sujungimas ir skaitmeninių parašų pridėjimas, viskas su lengva API ir be licencijos mokesčių. Nesvarbu, ar jums reikia PDF analizės Java, PDF generavimo ar PDF/A atitikties, ši biblioteka palaiko pažangias funkcijas kaip OCR integracija, formų užpildymas ir HTML į PDF konvertavimas. Turėdama Maven paruoštas priklausomybes (pvz., pdfbox-maven) ir išsamią dokumentaciją, PDFBox supaprastina sudėtingus darbo procesus – puikiai tinka įmonių programoms, dokumentų automatizavimui ir duomenų išgavimui. Lyginant su alternatyvomis kaip iText, Apache PDFBox išsiskiria atviro kodo lankstumu, aktyvia bendruomene ir kryžminės platformos suderinamumu. Apsilankykite mūsų PDFBox vadove, kad išnagrinėtumėte Java kodo pavyzdžius ir atrastumėte visą PDF manipuliavimo potencialą Java.
Pagrindiniai PDFBox privalumai:
- Visapusiškas sprendimas: Išgavimo ir kūrimo galimybės
- Grynas Java: Jokių priklausomybių nuo gimtosios sistemos
- Aktyvus plėtojimas: Remiama Apache programinės įrangos fondo
- Išsamios funkcijos: Teksto išgavimas, skaidymas, sujungimas, pasirašymas
- Formų palaikymas: Skaityti ir užpildyti PDF formas
Idealus dokumentų valdymo sistemoms, turinio išgavimui ir PDF automatizavimui.
Kodėl rinktis PDFBox?
- Brandumas: Stabilus nuo 2002 m. su reguliariais atnaujinimais
- Universalumas: Skaitymo ir rašymo galimybės
- Standartų palaikymas: Tvarko PDF 1.7 ir PDF/A dokumentus
- Bendruomenė: Didelė vartotojų bazė ir išplėstinė dokumentacija
- Integracija: Veikia su visomis Java pagrindu sukurtomis sistemomis
Diegimas
PDFBox pasiekiamas per Maven Central, kad būtų lengva integracija:
Maven
org.apache.pdfbox
pdfbox
3.0.0
Gradle
implementation 'org.apache.pdfbox:pdfbox:3.0.0'
Sistemos reikalavimai: Java 8 ar naujesnė
Kodo pavyzdžiai
Praktiniai PDFBox galimybių pavyzdžiai:
1 pavyzdys: Pagrindinis teksto išgavimas iš PDF dokumento Java
Šis pavyzdys parodo, kaip išgauti tekstą iš PDF dokumento išlaikant formatavimą ir struktūrą. PDFBox teikia pažangias teksto išgavimo galimybes, kurios išlaiko skaitymo tvarką ir tvarko sudėtingus išdėstymus.
Rezultate gaunama:
- Struktūrizuotas teksto turinys
- Puslapio po puslapio išgavimas
- Pagrindinio formatavimo išsaugojimas
2 pavyzdys: PDF dokumento kūrimas nuo nulio Java
PDFBox puikiai tinka tiek skaitymui, tiek PDF kūrimui. Šis pavyzdys demonstruoja naujo PDF dokumento su tekstu ir pagrindiniu formatavimu kūrimą.
3 pavyzdys: Antraščių ir poraščių pridėjimas prie PDF puslapių Java
PDFBox teikia išsamų palaikymą antraščių ir poraščių pridėjimui prie PDF puslapių iš jūsų Java programos. Toliau pateiktas kodo pavyzdys parodo, kaip tai pasiekti naudojant PDFBox API Java.
Pažangios funkcijos
PDFBox palaiko profesionalų PDF apdorojimą:
- Paveikslėlių išgavimas: Prieiga prie įterptų paveikslėlių:
Paveikslėlių išgavimas
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(); // Apdoroti paveikslėlį } } }
- Dokumentų skaidymas: PDF padalijimas į kelis failus:
PDF skaidymas
Splitter splitter = new Splitter(); List
pages = splitter.split(document); for (int i = 0; i < pages.size(); i++) { pages.get(i).save("puslapis-" + (i+1) + ".pdf"); } - Šifruoti PDF: Slaptažodžiu apsaugotų failų tvarkymas:
Šifruotas PDF
String password = "secure123"; FileInputStream fis = new FileInputStream("encrypted.pdf"); PDDocument doc = PDDocument.load(fis, password);
PDFBox vs iText
Štai 5 pagrindiniai skirtumai tarp PDFBox ir iText:
- Licencija: PDFBox turi Apache licenciją (atviro kodo), o iText daugeliu atvejų reikalauja komercinės licencijos
- Funkcijų orientacija: PDFBox siūlo subalansuotas skaitymo/rašymo galimybes, o iText specializuojasi PDF generavime
- Veikimas: iText paprastai greitesnis dokumentų kūrimui, o PDFBox pranoksta teksto išgavime
- Bendruomenė: PDFBox turi platesnį atviro kodo naudojimą, o iText siūlo profesionalią pagalbą
- Naudojimo atvejai: PDFBox idealus analizei ir pagrindinei manipuliacijai, o iText tinka didelės apimties PDF generavimui
Išvada
Apache PDFBox siūlo išsamų PDF apdorojimą Java kūrėjams. Idealus:
- Turinio išgavimui: Teksto ir duomenų gavybai iš PDF
- Dokumentų automatizavimui: Ataskaitų ir formų generavimui
- Dokumentų valdymui: PDF skaidymui, sujungimui ir transformacijai
- Formų apdorojimui: Interaktyvių formų skaitymui ir užpildymui
Turėdamas atviro kodo licenciją ir išsamią funkcijų rinkinį, PDFBox yra pirmasis pasirinkimas Java pagrindu sukurtam PDF apdorojimui.