1. Produkter
  2.   Redaktör
  3.   Java
  4.   Apache PDFBox
 
  

Apache PDFBox: Komplett verktygslåda för PDF i Java

Extrahera text, manipulera dokument, fyll i formulär och mer - allt i ren Java

Vad är Apache PDFBox?

Apache PDFBox är ett kraftfullt Java-bibliotek med öppen källkod som är designat för sömlös PDF-behandling i Java, vilket låter utvecklare skapa, redigera och extrahera innehåll från PDF-dokument programmatiskt. Som ett av de mest populära Java-PDF-biblioteken utmärker sig PDFBox för uppgifter som att extrahera text från PDF-filer, slå samman flera PDF-filer och lägga till digitala signaturer, allt med ett lättvikts-API och noll licenskostnader. Oavsett om du behöver PDF-tolkning i Java, PDF-generering eller PDF/A-efterlevnad, stödjer detta bibliotek avancerade funktioner som OCR-integrering, formulärfyllning och HTML-till-PDF-konvertering. Med Maven-beredda beroenden (t.ex. pdfbox-maven) och omfattande dokumentation förenklar PDFBox komplexa arbetsflöden - vilket gör det idealiskt för företagsapplikationer, dokumentautomatisering och datautvinning. Jämfört med alternativ som iText utmärker sig Apache PDFBox genom sin öppen källkod-flexibilitet, aktiva community och plattformsoberoende kompatibilitet. Utforska vår PDFBox-guide för att se Java-kodexempel och låsa upp PDF-manipulationens fulla potential i Java.

Huvudfördelar med PDFBox:

  • Komplett lösning: Både utvinnings- och skapandefunktioner
  • Ren Java: Inga inbyggda beroenden
  • Aktiv utveckling: Stöds av Apache Software Foundation
  • Omfattande funktioner: Textutvinning, delning, sammanslagning, signering
  • Formulärstöd: Läs och fyll i PDF-formulär

Idealisk för dokumenthanteringssystem, innehållsutvinning och PDF-automatisering.

GitHub

GitHub-statistik

Namn:
Språk:
Stjärnor:
Gafflar:
Licens:
Repository uppdaterades senast kl

Varför välja PDFBox?

  • Mognad: Stabil sedan 2002 med regelbundna uppdateringar
  • Mångsidighet: Både läs- och skrivfunktioner
  • Standardstöd: Hanterar PDF 1.7 och PDF/A-dokument
  • Community: Stor användarbas och omfattande dokumentation
  • Integration: Fungerar med alla Java-baserade ramverk

Installation

PDFBox finns tillgängligt via Maven Central för enkel integration:

Maven



    org.apache.pdfbox
    pdfbox
    3.0.0


Gradle


implementation 'org.apache.pdfbox:pdfbox:3.0.0'

Systemkrav: Java 8 eller senare

Kodexempel

Praktiska exempel på PDFBox-funktioner:

Apache PDFBox

Exempel 1: Grundläggande textutvinning från PDF-dokument i Java

Detta exempel visar hur man extraherar text från ett PDF-dokument samtidigt som formatering och struktur bevaras. PDFBox tillhandahåller avancerade textutvinningsfunktioner som bevarar läsordning och hanterar komplexa layouter.

Utdata inkluderar:

  • Strukturerat textinnehåll
  • Sida-för-sida-utvinning
  • Bevaring av grundläggande formatering

Exempel 2: Skapa PDF-dokument från grunden i Java

PDFBox utmärker sig både för läsning och skapande av PDF. Detta exempel demonstrerar generering av ett nytt PDF-dokument med text och grundläggande formatering.

Exempel 3: Lägga till sidhuvuden och sidfötter till PDF-sidor i Java

PDFBox tillhandahåller omfattande stöd för att lägga till sidhuvuden och sidfötter till PDF-sidor från din Java-applikation. Följande kodexempel visar hur detta uppnås med PDFBox API för Java.

Avancerade funktioner

PDFBox stödjer professionell PDF-behandling:

  • Bildutvinning: Åtkomst till inbäddade bilder:

    Bildutvinning

    
        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();
                    // Bearbeta bild
                }
            }
        }
        
    
  • Dokumentdelning: Dela upp PDF i flera filer:

    PDF-delning

    
        Splitter splitter = new Splitter();
        List pages = splitter.split(document);
        for (int i = 0; i < pages.size(); i++) {
            pages.get(i).save("sida-" + (i+1) + ".pdf");
        }
        
    
  • Krypterade PDF:er: Hantera lösenordsskyddade filer:

    Krypterad PDF

    
        String password = "secure123";
        FileInputStream fis = new FileInputStream("encrypted.pdf");
        PDDocument doc = PDDocument.load(fis, password);
        
    

PDFBox vs iText

Här är 5 viktiga skillnader mellan PDFBox och iText:

  • Licens: PDFBox har Apache-licens (öppen källkod), medan iText kräver kommersiell licens för de flesta användningsfall
  • Funktionsfokus: PDFBox erbjuder balanserade läs-/skrivfunktioner, medan iText specialiserar sig på PDF-generering
  • Prestanda: iText är generellt snabbare på dokumentskapande, medan PDFBox utmärker sig på textutvinning
  • Community: PDFBox har bredare adoption som öppen källkod, medan iText erbjuder professionellt stöd
  • Användningsfall: PDFBox är idealisk för analys och grundläggande manipulation, medan iText är bättre för storskalig PDF-generering

Sammanfattning

Apache PDFBox erbjuder omfattande PDF-behandling för Java-utvecklare. Idealisk för:

  • Innehållsutvinning: Extrahera text och data från PDF-filer
  • Dokumentautomatisering: Generera rapporter och formulär
  • Dokumenthantering: Dela, slå samman och transformera PDF-filer
  • Formulärbehandling: Läs och fyll i interaktiva formulär

Med sin öppen källkod-licens och omfattande funktionsuppsättning är PDFBox det främsta valet för Java-baserad PDF-behandling.

Liknande Produkter

 Swedish