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.
Document untuk membuat dokumen PDF baru. Dokumennya boleh diakses melalui pembina Document(filePath) atau Document(stream).PageCollection. Setiap Page mendedahkan MediaBox, CropBox, putaran, sumber, dan pengendali kandungan.DocumentInfo dan XmpMetadata.getParser(), getCatalog() dan getTrailer().getEmbeddedFiles().Document dan mengisi halaman.PdfFileEditor dan API Page.Annotation adalah asas bagi semua anotasi; jenis konkrit termasuk WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation, dan UnderlineAnnotation.Document.getForm() untuk menyenaraikan atau membuat contoh ButtonField, CheckboxField, dan RadioButtonField.AppearanceCharacteristics — warna sempadan, latar belakang, putaran, dan kapsyen.FormEditor dan FormElement untuk manipulasi borang peringkat lebih tinggi.ActionRules dan ActionFixes.AESCipher menggunakan mod CBC (AESCipher.encrypt(key, data) dan AESCipher.decrypt(key, data)).Artifact dan ArtifactCollection.PdfFileEditor.resizeContents() dan ContentsResizeParameters.AnnotationRules dan ActionRules.AESCipher untuk menyulitkan bahagian data yang tertanam dalam aliran dokumen.Artifact objek yang mewakili tanda air dan hiasan halaman.ActionFixes dan AnnotationFixes untuk membuat dokumen sedia ada memenuhi standard arkip PDF / A-1b.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");
}
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");
}
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);
}