1. Produk
  2.   Editor
  3.   Java
  4.   Apache PDFBox
 
  

Apache PDFBox: Toolkit PDF Lengkap untuk Java

Ekstrak teks, kendalikan dokumen, isi borang dan banyak lagi - semuanya dalam Java tulen

Apa itu Apache PDFBox?

Apache PDFBox ialah pustaka Java sumber terbuka berkuasa yang direka untuk pemprosesan PDF lancar dalam Java, membolehkan pembangun membuat, mengedit dan mengekstrak kandungan daripada dokumen PDF secara pengaturcaraan. Sebagai salah satu pustaka PDF Java paling popular, PDFBox unggul dalam tugas seperti mengekstrak teks daripada PDF, menggabungkan berbilang fail PDF dan menambah tandatangan digital, semuanya dengan API ringan dan kos lesen sifar. Sama ada anda memerlukan penghuraian PDF dalam Java, penjanaan PDF atau pematuhan PDF/A, pustaka ini menyokong ciri lanjutan seperti integrasi OCR, pengisian borang dan penukaran HTML-ke-PDF. Dengan kebergantungan sedia Maven (contohnya pdfbox-maven) dan dokumentasi menyeluruh, PDFBox memudahkan aliran kerja kompleks - menjadikannya ideal untuk aplikasi perusahaan, automasi dokumen dan pengekstrakan data. Berbanding alternatif seperti iText, Apache PDFBox menonjol dengan fleksibiliti sumber terbuka, komuniti aktif dan keserasian pelbagai platform. Terokai tutorial PDFBox kami untuk melihat contoh kod Java dan buka potensi penuh pengendalian PDF dalam Java.

Kelebihan utama PDFBox:

  • Penyelesaian lengkap: Kemampuan pengekstrakan dan penciptaan
  • Java tulen: Tiada kebergantungan asli
  • Pembangunan aktif: Disokong oleh Apache Software Foundation
  • Ciri menyeluruh: Pengekstrakan teks, pemisahan, penggabungan, penandatanganan
  • Sokongan borang: Baca dan isi borang PDF

Sesuai untuk sistem pengurusan dokumen, pengekstrakan kandungan dan automasi PDF.

GitHub

Statistik GitHub

nama:
Bahasa:
Bintang:
Garpu:
Lesen:
Repositori dikemas kini terakhir pada

Mengapa Memilih PDFBox?

  • Kematangan: Stabil sejak 2002 dengan kemas kini berkala
  • Keserbagunaan: Kemampuan membaca dan menulis
  • Sokongan piawaian: Mengendalikan dokumen PDF 1.7 dan PDF/A
  • Komuniti: Asas pengguna besar dan dokumentasi luas
  • Integrasi: Berfungsi dengan semua rangka kerja berasaskan Java

Pemasangan

PDFBox tersedia melalui Maven Central untuk integrasi mudah:

Maven



    org.apache.pdfbox
    pdfbox
    3.0.0


Gradle


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

Keperluan Sistem: Java 8 atau lebih baru

Contoh Kod

Contoh praktikal kemampuan PDFBox:

Apache PDFBox

Contoh 1: Pengekstrakan Teks Asas dari Dokumen PDF dalam Java

Contoh ini menunjukkan cara mengekstrak teks dari dokumen PDF sambil mengekalkan pemformatan dan struktur. PDFBox menyediakan kemampuan pengekstrakan teks lanjutan yang mengekalkan susunan bacaan dan mengendalikan susun atur kompleks.

Output termasuk:

  • Kandungan teks berstruktur
  • Pengekstrakan halaman demi halaman
  • Pengekalan pemformatan asas

Contoh 2: Penciptaan Dokumen PDF dari Awal dalam Java

PDFBox cemerlang dalam kedua-dua membaca dan mencipta PDF. Contoh ini menunjukkan penjanaan dokumen PDF baru dengan teks dan pemformatan asas.

Contoh 3: Menambah Header dan Footer ke Halaman PDF dalam Java

PDFBox menyediakan sokongan menyeluruh untuk menambah header dan footer ke halaman PDF dari dalam aplikasi Java anda. Contoh kod berikut menunjukkan cara mencapainya menggunakan PDFBox API untuk Java.

Ciri Lanjutan

PDFBox menyokong pemprosesan PDF profesional:

  • Pengekstrakan imej: Akses imej tersemat:

    Pengekstrakan Imej

    
        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();
                    // Proses imej
                }
            }
        }
        
    
  • Pemisahan dokumen: Bahagikan PDF kepada berbilang fail:

    Pemisahan PDF

    
        Splitter splitter = new Splitter();
        List pages = splitter.split(document);
        for (int i = 0; i < pages.size(); i++) {
            pages.get(i).save("halaman-" + (i+1) + ".pdf");
        }
        
    
  • PDF disulitkan: Mengendalikan fail dilindungi kata laluan:

    PDF Disulitkan

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

PDFBox vs iText

Berikut 5 perbezaan utama antara PDFBox dan iText:

  • Lesen: PDFBox berlesen Apache (sumber terbuka), manakala iText memerlukan lesen komersial untuk kebanyakan kes penggunaan
  • Fokus ciri: PDFBox menyediakan kemampuan baca/tulis seimbang, manakala iText mengkhusus dalam penjanaan PDF
  • Prestasi: iText umumnya lebih pantas untuk penciptaan dokumen, manakala PDFBox unggul dalam pengekstrakan teks
  • Komuniti: PDFBox mempunyai penerimaan sumber terbuka lebih luas, manakala iText menawarkan sokongan profesional
  • Kes penggunaan: PDFBox sesuai untuk analisis dan manipulasi asas, manakala iText lebih baik untuk penjanaan PDF volum tinggi

Kesimpulan

Apache PDFBox menyediakan pemprosesan PDF menyeluruh untuk pembangun Java. Sesuai untuk:

  • Pengekstrakan kandungan: Mengeluarkan teks dan data dari PDF
  • Automasi dokumen: Menjana laporan dan borang
  • Pengurusan dokumen: Memisahkan, menggabungkan dan mengubah PDF
  • Pemprosesan borang: Membaca dan mengisi borang interaktif

Dengan lesen sumber terbuka dan set ciri menyeluruh, PDFBox ialah pilihan utama untuk pemprosesan PDF berasaskan Java.

Produk Serupa

 Malay