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

Apache PDFBox: Toolkit PDF Lengkap untuk Java

Ekstrak teks, manipulasi dokumen, isi formulir dan lebih banyak lagi - semuanya dalam Java murni

Apa itu Apache PDFBox?

Apache PDFBox adalah pustaka Java open-source yang powerful dirancang untuk pemrosesan PDF yang mulus di Java, memungkinkan developer untuk membuat, mengedit, dan mengekstrak konten dari dokumen PDF secara terprogram. Sebagai salah satu pustaka PDF Java paling populer, PDFBox unggul dalam tugas seperti mengekstrak teks dari PDF, menggabungkan beberapa file PDF, dan menambahkan tanda tangan digital, semuanya dengan API yang ringan dan tanpa biaya lisensi. Baik Anda membutuhkan parsing PDF di Java, pembuatan PDF, atau kepatuhan PDF/A, pustaka ini mendukung fitur canggih seperti integrasi OCR, pengisian formulir, dan konversi HTML-ke-PDF. Dengan dependensi siap Maven (misalnya pdfbox-maven) dan dokumentasi yang luas, PDFBox menyederhanakan alur kerja kompleks - menjadikannya ideal untuk aplikasi enterprise, otomatisasi dokumen, dan ekstraksi data. Dibandingkan dengan alternatif seperti iText, Apache PDFBox menonjol karena fleksibilitas open-source, komunitas aktif, dan kompatibilitas lintas platform. Pelajari tutorial PDFBox kami untuk mengeksplorasi contoh kode Java dan buka potensi penuh manipulasi PDF di Java.

Keunggulan utama PDFBox:

  • Solusi lengkap: Kemampuan ekstraksi dan pembuatan
  • Java murni: Tanpa dependensi native
  • Pengembangan aktif: Didukung oleh Apache Software Foundation
  • Fitur komprehensif: Ekstraksi teks, pemisahan, penggabungan, penandatanganan
  • Dukungan formulir: Baca dan isi formulir PDF

Ideal untuk sistem manajemen dokumen, ekstraksi konten, dan otomatisasi PDF.

GitHub

Statistik GitHub

Nama:
Bahasa:
Bintang:
Garpu:
Lisensi:
Repositori terakhir diperbarui pada

Mengapa Memilih PDFBox?

  • Kematangan: Stabil sejak 2002 dengan pembaruan rutin
  • Kemampuan serbaguna: Kemampuan baca dan tulis
  • Dukungan standar: Menangani dokumen PDF 1.7 dan PDF/A
  • Komunitas: Basis pengguna besar dan dokumentasi ekstensif
  • Integrasi: Bekerja dengan semua framework berbasis Java

Instalasi

PDFBox tersedia via Maven Central untuk integrasi mudah:

Maven



    org.apache.pdfbox
    pdfbox
    3.0.0


Gradle


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

Persyaratan Sistem: Java 8 atau lebih baru

Contoh Kode

Contoh praktis kemampuan PDFBox:

Apache PDFBox

Contoh 1: Ekstraksi Teks Dasar dari Dokumen PDF di Java

Contoh ini menunjukkan cara mengekstrak teks dari dokumen PDF sambil mempertahankan pemformatan dan struktur. PDFBox menyediakan kemampuan stripping teks canggih yang mempertahankan urutan baca dan menangani tata letak kompleks.

Output mencakup:

  • Konten teks terstruktur
  • Ekstraksi per halaman
  • Pemertahanan pemformatan dasar

Contoh 2: Pembuatan Dokumen PDF dari Awal di Java

PDFBox unggul baik dalam membaca maupun membuat PDF. Contoh ini menunjukkan pembuatan dokumen PDF baru dengan teks dan pemformatan dasar.

Contoh 3: Menambahkan Header dan Footer ke Halaman PDF di Java

PDFBox menyediakan dukungan komprehensif untuk menambahkan header dan footer ke halaman PDF dari dalam aplikasi Java Anda. Contoh kode berikut menunjukkan cara mencapainya menggunakan PDFBox API untuk Java.

Fitur Lanjutan

PDFBox mendukung pemrosesan PDF profesional:

  • Ekstraksi gambar: Akses gambar yang disematkan:

    Ekstraksi Gambar

    
        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 gambar
                }
            }
        }
        
    
  • Pemisahan dokumen: Bagi PDF menjadi beberapa file:

    Pemisahan PDF

    
        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");
        }
        
    
  • PDF terenkripsi: Tangani file yang dilindungi password:

    PDF Terenkripsi

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

PDFBox vs iText

Berikut 5 perbedaan utama antara PDFBox dan iText:

  • Lisensi: PDFBox berlisensi Apache (open source), sedangkan iText memiliki lisensi komersial untuk sebagian besar kasus penggunaan
  • Fokus Fitur: PDFBox menyediakan kemampuan baca/tulis seimbang, sedangkan iText mengkhususkan diri pada pembuatan PDF
  • Kinerja: iText umumnya lebih cepat untuk pembuatan dokumen, sedangkan PDFBox unggul dalam ekstraksi teks
  • Komunitas: PDFBox memiliki adopsi open source yang lebih luas, sedangkan iText menawarkan dukungan profesional
  • Kasus Penggunaan: PDFBox ideal untuk analisis dan manipulasi dasar, sedangkan iText lebih baik untuk pembuatan PDF volume tinggi

Kesimpulan

Apache PDFBox menyediakan pemrosesan PDF komprehensif untuk developer Java. Ideal untuk:

  • Ekstraksi konten: Menambang teks dan data dari PDF
  • Otomatisasi dokumen: Menghasilkan laporan dan formulir
  • Manajemen dokumen: Memisahkan, menggabungkan, dan mentransformasikan PDF
  • Pemrosesan formulir: Membaca dan mengisi formulir interaktif

Dengan lisensi open source dan rangkaian fitur yang komprehensif, PDFBox adalah pilihan utama untuk pemrosesan PDF berbasis Java.

Produk Sejenis

 Indonesia