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

Aspose.PDF FOSS for Java

Cipta dan manipulasi dokumen PDF dari Java — dengan anotasi, medan borang, manipulasi halaman, dan pematuhan PDF/A. Dilisensikan MIT.

Perpustakaan Java MIT-Lisensi percuma untuk Penciptaan dan Manipulasi PDF

Aspose.PDF FOSS untuk Java ialah perpustakaan Java berlesen MIT untuk mencipta dan bekerja dengan dokumen PDF. Ia menyediakan kelas Document yang komprehensif sebagai titik masuk utama, bersama dengan liputan penuh anotasi, medan borang interaktif, manipulasi halaman, metadata, dan pengesahan pematuhan PDF/A.

Perpustakaan ini mendedahkan 527 kelas yang meliputi spesifikasi PDF penuh: struktur dokumen melalui Document, Page, dan PageCollection; anotasi melalui hierarki Annotation (termasuk WidgetAnnotation, FreeTextAnnotation, dan HighlightAnnotation); borang interaktif dengan Form, ButtonField, CheckboxField, dan RadioButtonField; rendering halaman melalui BmpDevice; dan pemeriksaan pematuhan PDF/A melalui ActionRules dan ActionFixes. Penyulitan disediakan melalui AESCipher dalam mod CBC.

Tambah Aspose.PDF FOSS ke projek Maven anda menggunakan groupId org.aspose dan artifactId aspose-pdf. Perpustakaan ini memerlukan Java 11 atau lebih baru dan berlesen MIT sepenuhnya. Untuk ciri-ciri perusahaan dan sokongan, lihat Aspose.PDF for Java — Enterprise Product.

Struktur dokumen dan Pengurusan halaman

  • ** API Dokumen:** Gunakan kelas Document untuk membuat dokumen PDF baru. Dokumennya boleh diakses melalui pembina Document(filePath) atau Document(stream).
  • ** Pengurusan halaman:** Tambah, akses dan ubah laman melalui PageCollection. Setiap Page mendedahkan MediaBox, CropBox, putaran, sumber, dan pengendali kandungan.
  • ** Metadata:** Membaca dan menulis metadati dokumen melalui DocumentInfo dan XmpMetadata.
  • ** Struktur PDF:** Akses objek PDF yang mendasari melalui getParser(), getCatalog() dan getTrailer().
  • ** Fail tertanam:** Kawal koleksi fail yang tertakluk dengan getEmbeddedFiles().

Senario Pengolahan Dokumen Bersama

  • ** Generasi PDF:** Membina dokumen secara program dengan membuat Document dan mengisi halaman.
  • ** Analisis dokumen:** Akses fail sedia ada untuk pemeriksaan metadata atau pencatatan medan borang.
  • Pemanipulasi halaman: Mengubah saiz, memutar atau menyusun semula halaman menggunakan PdfFileEditor dan API Page.
  • Lari kerja kumpulan: Memakai transformasi yang konsisten di pelbagai dokumen dalam paip sisi pelayan.

Anotasi dan Medan Borang

  • Hierarchy anotasi: Kelas abstrak Annotation adalah asas bagi semua anotasi; jenis konkrit termasuk WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation, dan UnderlineAnnotation.
  • Borang interaktif: Akses borang dokumen melalui Document.getForm() untuk menyenaraikan atau membuat contoh ButtonField, CheckboxField, dan RadioButtonField.
  • Penampilan widget: Kawal sifat visual melalui AppearanceCharacteristics — warna sempadan, latar belakang, putaran, dan kapsyen.
  • Penyuntingan borang: Gunakan FormEditor dan FormElement untuk manipulasi borang peringkat lebih tinggi.

Kajian Dokumen dan Kerjasama

  • ** Anotasi penanda:** Tambah tanda sorotan, garis bawah atau catatan teks bebas ke dokumen untuk semakan alur kerja.
  • ** Borang interaktif:** Buat dokumen yang boleh diisi dengan butang radio, kotak semak dan butang tekan untuk menangkap data.
  • Kekurangan data borang: Baca nilai medan borangan yang dihantar untuk paip sisi pelayan.
  • ** Pematuhan arkib:** Memvalidasi dan membetulkan dokumen untuk arkip jangka panjang menggunakan ActionRules dan ActionFixes.

Operasi Keselamatan dan Kandungan

  • ** Penyulitan AES:** Menyulit dan menyahsulit array bait data dengan AESCipher menggunakan mod CBC (AESCipher.encrypt(key, data) dan AESCipher.decrypt(key, data)).
  • ** Pengurusan artefak:** mengenal pasti dan memanipulasi tajuk, kaki, tanda air, dan imej latar belakang melalui API Artifact dan ArtifactCollection.
  • Pengukuran kandungan: Sesuaikan susun atur kandungan halaman dengan PdfFileEditor.resizeContents() dan ContentsResizeParameters.
  • Pengesahan pematuhan: Sahkan peraturan pengumuman dan tindakan terhadap standard PDF/A menggunakan AnnotationRules dan ActionRules.

Kes Penggunaan Keselamatan Dokumen

  • ** Muatan berguna yang disulitkan:** Gunakan AESCipher untuk menyulitkan bahagian data yang tertanam dalam aliran dokumen.
  • Perlindungan dokumen: Memakai tetapan keselamatan untuk kawalan akses dalam alur kerja pematuhan.
  • ** Watermarking:** Mengesan dan menguruskan Artifact objek yang mewakili tanda air dan hiasan halaman.
  • ** Pematuhan arkib:** Jalankan ActionFixes dan AnnotationFixes untuk membuat dokumen sedia ada memenuhi standard arkip PDF / A-1b.

Buat Dokumen dengan Anotasi Widget

Buat dokumen baru, tambah halaman dan lampikan nota 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 borang dengan butang radio

Tambah kumpulan butang radio ke borang dokumen dan pilih nilai secara program.

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");
}

Periksa Saiz Halaman Dokumen

Dapatkan dokumen yang sedia ada dan baca dimensi kotak media pada 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);
}
  

Sokongan dan Sumber Pembelajaran

 Bahasa Melayu