Aspose.PDF FOSS pentru Java este o bibliotecă Java licențiată MIT pentru crearea și lucrul cu documente PDF. Oferă o clasă Document cuprinzătoare ca punct de intrare central, împreună cu acoperire completă a adnotărilor, câmpurilor de formular interactive, manipulării paginilor, metadatelor și validării conformității PDF/A.
Biblioteca expune 527 de clase care acoperă specificația completă PDF: structura documentului prin Document, Page și PageCollection; adnotări prin ierarhia Annotation (incluzând WidgetAnnotation, FreeTextAnnotation și HighlightAnnotation); formulare interactive cu Form, ButtonField, CheckboxField și RadioButtonField; redarea paginilor prin BmpDevice; și verificarea conformității PDF/A prin ActionRules și ActionFixes. Criptarea este furnizată prin AESCipher în modul CBC.
Adăugați Aspose.PDF FOSS în proiectul dumneavoastră Maven utilizând groupId org.aspose și artifactId aspose-pdf. Biblioteca necesită Java 11 sau o versiune ulterioară și este complet licențiată MIT. Pentru funcționalități enterprise și suport, consultați Aspose.PDF for Java — Enterprise Product.
Document pentru a crea noi documente PDF. Documentele existente pot fi accesate prin constructorii Document(filePath) sau Document(stream).PageCollection. Fiecare Page expune MediaBox, CropBox, rotație, resurse și operatori de conținut.DocumentInfo și XmpMetadata.getParser(), getCatalog() și getTrailer().getEmbeddedFiles().Document și completând paginile.PdfFileEditor și API-ul Page.Annotation este baza pentru toate adnotările; tipurile concrete includ WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation și UnderlineAnnotation.Document.getForm() pentru a enumera sau crea instanțe de ButtonField, CheckboxField și RadioButtonField.AppearanceCharacteristics — culoarea bordurii, fundalul, rotația și legendelor.FormEditor și FormElement pentru manipularea formularului la nivel superior.ActionRules și ActionFixes.AESCipher folosind modul CBC (AESCipher.encrypt(key, data) și AESCipher.decrypt(key, data)).Artifact și ArtifactCollection.PdfFileEditor.resizeContents() și ContentsResizeParameters.AnnotationRules și ActionRules.AESCipher pentru a cripta secțiunile de date încorporate în fluxurile de documente.Artifact care reprezintă watermark-uri și decorări de pagină.ActionFixes și AnnotationFixes pentru a face documentele existente să respecte standardele de arhiepiscopie PDF/A-1b.Creează un document nou, adaugă o pagină și atașează o anotație a widgetului cu stil.
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");
}
Adăugați un grup de butoane radio la o formular document și selectați o valoare programatic.
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");
}
Accesați un document existent și citiți dimensiunile cutiei media ale primei pagini.
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);
}