1. Produk
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Java

Aspose.PDF FOSS for Java

Buat dan manipulasi dokumen PDF dari Java — dengan anotasi, bidang formulir, manipulasi halaman, dan kepatuhan PDF/A. Berlisensi MIT.

Perpustakaan Java MIT-Lisensi Gratis untuk Pembuat dan Manipulasi PDF

Aspose.PDF FOSS untuk Java adalah perpustakaan Java berlisensi MIT untuk membuat dan bekerja dengan dokumen PDF. Ini menyediakan kelas Document yang komprehensif sebagai titik masuk utama, bersama dengan cakupan penuh anotasi, bidang formulir interaktif, manipulasi halaman, metadata, dan validasi kepatuhan PDF/A.

Perpustakaan ini mengekspos 527 kelas yang mencakup seluruh spesifikasi PDF: struktur dokumen melalui Document, Page, dan PageCollection; anotasi melalui hierarki Annotation (termasuk WidgetAnnotation, FreeTextAnnotation, dan HighlightAnnotation); formulir interaktif dengan Form, ButtonField, CheckboxField, dan RadioButtonField; rendering halaman melalui BmpDevice; dan pemeriksaan kepatuhan PDF/A melalui ActionRules dan ActionFixes. Enkripsi disediakan melalui AESCipher dalam mode CBC.

Tambahkan Aspose.PDF FOSS ke proyek Maven Anda menggunakan groupId org.aspose dan artifactId aspose-pdf. Perpustakaan ini memerlukan Java 11 atau lebih baru dan sepenuhnya berlisensi MIT. Untuk fitur dan dukungan enterprise, lihat Aspose.PDF for Java — Enterprise Product.

Struktur dokumen dan Manajemen halaman

  • Document API: Gunakan kelas Document untuk membuat dokumen PDF baru. Dokumen yang ada dapat diakses melalui konstruktor Document(filePath) atau Document(stream).
  • ** Manajemen halaman:** Tambahkan, akses, dan modifikasi halaman melalui PageCollection. Setiap Page mengekspos MediaBox, CropBox, rotasi, sumber daya, serta operator konten.
  • ** Metadata:** Membaca dan menulis metadatha dokumen melalui DocumentInfo dan XmpMetadata.
  • ** Struktur PDF:** Akses obyek PDF yang mendasari melalui getParser(), getCatalog() dan getTrailer().
  • ** File tertanam:** Mengelola koleksi file yang tertinam dengan getEmbeddedFiles().

Skenario Pengolahan Dokumen Bersama

  • ** Generasi PDF:** Membangun dokumen secara programatis dengan membuat Document dan mengisi halaman.
  • ** Analisis dokumen:** Akses file yang ada untuk pemeriksaan metadata atau pencatatan bidang formulir.
  • Pemanipulasi halaman: Mengubah ukuran, memutar atau mengatur ulang halaman menggunakan PdfFileEditor dan API Page.
  • Lari kerja batch: Menerapkan transformasi yang konsisten di beberapa dokumen dalam pipa sisi server.

Anotasi dan Bidang Bentuk

  • ** Hierarki Anotasi:** Kelas abstrak Annotation adalah dasar untuk semua anotasi; jenis konkret termasuk WidgetAnnotation, FreeTextAnnotation,HighlightAnnotation dan UnderlineAnnotation.
  • Formulir interaktif: Akses formulir dokumen melalui Document.getForm() untuk mendaftar atau membuat instansi ButtonField, CheckboxField dan RadioButtonField.
  • ** Penampilan widget:** Kontrol properti visual melalui AppearanceCharacteristics warna perbatasan, latar belakang, rotasi, dan keterangan.
  • Memodifikasi formulir: Gunakan FormEditor dan FormElement untuk manipulasi formulier tingkat lebih tinggi.

Ulasan Dokumen dan Kolaborasi

  • ** Anotasi penanda:** Tambahkan tanda sorotan, garis bawah, atau catatan teks bebas ke dokumen untuk proses tinjauan.
  • Formulir interaktif: Buat dokumen yang dapat diisi dengan tombol radio, kotak centang, dan tombol pencet untuk menangkap data.
  • ** Ekstraksi data formulir:** Baca nilai bidang formulier yang dikirim untuk pipa sisi server.
  • Pelaksanaan arsip: Validasi dan perbaiki dokumen untuk pengarsipan jangka panjang menggunakan ActionRules dan ActionFixes.

Operasi keamanan dan konten

  • ** Enkripsi AES:** Encrypt dan dekripsi array byte data dengan AESCipher menggunakan mode CBC (AESCipher.encrypt(key, data) dan AESCipher.decrypt(key, data)).
  • ** Manajemen artefak:** Identifikasi dan manipulasi header, footer, watermark, dan gambar latar belakang melalui API Artifact dan ArtifactCollection.
  • ** Mengubah ukuran konten:** Sesuaikan tata letak isi halaman dengan PdfFileEditor.resizeContents() dan ContentsResizeParameters.
  • ** Validasi kepatuhan:** Validasi aturan anotasi dan tindakan terhadap standar PDF/A menggunakan AnnotationRules dan ActionRules.

Kasus Penggunaan Keamanan Dokumen

  • ** Muatan berguna terenkripsi:** Gunakan AESCipher untuk mengenkripsikan bagian data yang dimasukkan dalam aliran dokumen.
  • Perlindungan dokumen: Menerapkan pengaturan keamanan untuk kontrol akses dalam alur kerja kepatuhan.
  • ** Watermarking:** Deteksi dan mengelola Artifact objek yang mewakili watermark dan dekorasi halaman.
  • ** Kepatuhan arsip:** Jalankan ActionFixes dan AnnotationFixes untuk membuat dokumen yang ada memenuhi standar arsitektur PDF/A-1b.

Buat dokumen dengan Anotasi Widget

Buat dokumen baru, tambahkan halaman, dan lampikan catatan widget dengan gaya.

try (Document doc = new Document()) ```java
try (Document doc = new Document()) {
    Page page = doc.getPages().add();
    WidgetAnnotation w = new WidgetAnnotation(page, new Rectangle(0, 0, 100, 50));
    w.getCharacteristics().setBorder(Color.fromRgb(1, 0, 0));
    w.getCharacteristics().setCaption("Submit");
    page.getAnnotations().add(w);
    doc.save("output.pdf");
}

Buat Formulir dengan Tombol Radio

Tambahkan kelompok tombol radio ke formulir dokumen dan pilih nilai secara programatis.

try (Document doc = new Document()) {
    Page page = doc.getPages().add();
    RadioButtonField radio = new RadioButtonField(page);
    radio.setPartialName("choice");
    radio.addOption("Option1", new Rectangle(50, 50, 70, 70));
    radio.addOption("Option2", new Rectangle(50, 80, 70, 100));
    doc.getForm().add(radio, 1);
    radio.setValue("Option2");
    doc.save("form.pdf");
}

Memeriksa Ukuran Halaman Dokumen

Akses dokumen yang ada dan baca dimensi kotak media halaman pertama.

try (Document doc = new Document("input.pdf")) {
    double width = doc.getPages().get(1).getMediaBox().getWidth();
    double height = doc.getPages().get(1).getMediaBox().getHeight();
    System.out.println("Page size: " + width + " x " + height);
}
  

Sumber Daya Dukungan dan Pembelajaran

 Bahasa Indonesia