Aspose.PDF FOSS pentru Java este o bibliotecă Java licențiată MIT pentru crearea și lucrul cu documente PDF. Aceasta oferă o clasă Document cuprinzătoare ca punct central de intrare, î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 (inclusiv 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 la proiectul dvs. Maven utilizând groupId org.aspose și artifactId aspose-pdf. Biblioteca necesită Java 11 sau o versiune ulterioară și este complet licențiată sub MIT. Pentru funcționalități enterprise și suport, consultați Aspose.PDF for Java — Enterprise Product.
Document pentru a crea documente PDF noi. 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 popularea paginilor.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 ButtonField, CheckboxField și RadioButtonField.AppearanceCharacteristics — culoarea bordurii, fundalul, rotația și descrierile.FormEditor și FormElement pentru manipularea formularului la nivel superior.ActionRules și ActionFixes.AESCipher utilizând 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ă filigrane și decorațiuni de pagină.ActionFixes și AnnotationFixes pentru a face documentele existente să respecte standardele de arhivare PDF/A-1b.Creează un document nou, adaugă o pagină și atașează o adnotare widget cu stilizare.
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");
}
```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 un formular de 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 casetei 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);
}