Aspose.PDF FOSS per a Java és una biblioteca Java amb llicència MIT per crear i treballar amb documents PDF. Proporciona una classe Document completa com a punt d’entrada central, juntament amb una cobertura total d’anotacions, camps de formulari interactius, manipulació de pàgines, metadades i validació de compliment PDF/A.
La biblioteca exposa 527 classes que cobreixen l’especificació completa de PDF: estructura del document a través de Document, Page i PageCollection; anotacions mitjançant la jerarquia Annotation (incloent WidgetAnnotation, FreeTextAnnotation i HighlightAnnotation); formularis interactius amb Form, ButtonField, CheckboxField i RadioButtonField; renderització de pàgines via BmpDevice; i comprovació del compliment PDF/A a través de ActionRules i ActionFixes. El xifratge es proporciona via AESCipher en mode CBC.
Afegeix Aspose.PDF FOSS al teu projecte Maven utilitzant groupId org.aspose i artifactId aspose-pdf. La biblioteca requereix Java 11 o posterior i té llicència MIT completa. Per a funcions i suport empresarial, consulta Aspose.PDF for Java — Enterprise Product.
Document per crear nous documents PDF. Els documents existents es poden accedir mitjançant els constructors Document(filePath) o Document(stream).PageCollection. Cada Page exposa MediaBox, CropBox, rotació, recursos i operadors de contingut.DocumentInfo i XmpMetadata.getParser(), getCatalog() i getTrailer().getEmbeddedFiles().Document i omplir pàgines.PdfFileEditor i l’API Page.Annotation és la base per a totes les anotacions; els tipus concrets inclouen WidgetAnnotation, FreeTextAnnotation,HighlightAnnotation i UnderlineAnnotation.Document.getForm() per enumerar o crear instàncies ButtonField, CheckboxField i RadioButtonField}.AppearanceCharacteristics color de bordura, fons, rotació i títols.FormEditor i FormElement per a la manipulació d’un formulariu de nivell superior.ActionRules i ActionFixes.AESCipher utilitzant el mode CBC (AESCipher.encrypt(key, data) i AESCipher.decrypt(key, data)).Artifact i ArtifactCollection.PdfFileEditor.resizeContents() i ContentsResizeParameters.AnnotationRules i ActionRules.AESCipher per xifrar les seccions de dades incrustades en els fluxos del document.Artifact que representen marques d’aigua i decoracions de pàgina.ActionFixes i AnnotationFixes per fer que els documents existents compleixin les normes d’arxiu PDF/A-1b.Crear un nou document, afegir una pàgina i adjuntar una anotació amb estil.
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");
}
Afegir un grup de botons de ràdio a un formulari de document i seleccionar programàticament un valor.
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");
}
Accedeix a un document existent i llegeix les dimensions de la caixa dels mitjans de comunicació de l’última pàgina.
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);
}