Aspose.PDF FOSS pour Java est une bibliothèque Java sous licence MIT pour créer et travailler avec des documents PDF. Elle fournit une classe Document complète comme point d’entrée central, ainsi qu’une couverture complète des annotations, des champs de formulaire interactifs, de la manipulation de pages, des métadonnées et de la validation de conformité PDF/A.
La bibliothèque expose 527 classes couvrant l’intégralité de la spécification PDF : structure du document via Document, Page et PageCollection ; annotations via la hiérarchie Annotation (incluant WidgetAnnotation, FreeTextAnnotation et HighlightAnnotation) ; formulaires interactifs avec Form, ButtonField, CheckboxField et RadioButtonField ; rendu des pages via BmpDevice ; et vérification de conformité PDF/A via ActionRules et ActionFixes. Le chiffrement est fourni via AESCipher en mode CBC.
Ajoutez Aspose.PDF FOSS à votre projet Maven en utilisant le groupId org.aspose et l’artifactId aspose-pdf. La bibliothèque nécessite Java 11 ou une version ultérieure et est entièrement sous licence MIT. Pour les fonctionnalités et le support d’entreprise, voir Aspose.PDF for Java — Enterprise Product.
Document pour créer de nouveaux documents PDF. Les documents existants peuvent être accessibles via les constructeurs Document(filePath) ou Document(stream).PageCollection. Chaque Page expose MediaBox, CropBox, la rotation, les ressources et les opérateurs de contenu.DocumentInfo et XmpMetadata.getParser(), getCatalog() et getTrailer().getEmbeddedFiles().Document et en remplissant les pages.PdfFileEditor et l’API Page.Annotation est la base de toutes les annotations ; les types concrets incluent WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation et UnderlineAnnotation.Document.getForm() pour énumérer ou créer des instances de ButtonField, CheckboxField et RadioButtonField.AppearanceCharacteristics — couleur de bordure, arrière-plan, rotation et légendes.FormEditor et FormElement pour la manipulation de formulaire de niveau supérieur.ActionRules et ActionFixes.AESCipher en mode CBC (AESCipher.encrypt(key, data) et AESCipher.decrypt(key, data)).Artifact et ArtifactCollection.PdfFileEditor.resizeContents() et ContentsResizeParameters.AnnotationRules et ActionRules.AESCipher pour chiffrer les sections de données intégrées dans les flux de documents.Artifact représentant les filigranes et les décorations de page.ActionFixes et AnnotationFixes pour que les documents existants respectent les normes d’archivage PDF/A-1b.Créez un nouveau document, ajoutez une page et attachez une annotation widget avec style.
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");
}
Ajoutez un groupe de boutons radio à un formulaire de document et sélectionnez une valeur de façon programmatique.
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");
}
Accédez à un document existant et lisez les dimensions de la boîte média de la première page.
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);
}