Aspose.PDF FOSS para Java es una biblioteca Java bajo licencia MIT para crear y trabajar con documentos PDF. Proporciona una clase Document completa como punto de entrada central, junto con cobertura total de anotaciones, campos de formulario interactivos, manipulación de páginas, metadatos y validación de cumplimiento PDF/A.
La biblioteca expone 527 clases que cubren la especificación completa de PDF: estructura del documento a través de Document, Page y PageCollection; anotaciones mediante la jerarquía Annotation (incluyendo WidgetAnnotation, FreeTextAnnotation y HighlightAnnotation); formularios interactivos con Form, ButtonField, CheckboxField y RadioButtonField; renderizado de páginas a través de BmpDevice; y verificación de cumplimiento PDF/A mediante ActionRules y ActionFixes. El cifrado se proporciona mediante AESCipher en modo CBC.
Agrega Aspose.PDF FOSS a tu proyecto Maven usando groupId org.aspose y artifactId aspose-pdf. La biblioteca requiere Java 11 o posterior y está totalmente bajo licencia MIT. Para características empresariales y soporte, consulta Aspose.PDF for Java — Enterprise Product.
Document para crear nuevos documentos PDF. Los documentos existentes pueden accederse mediante Document(filePath) o Document(stream) constructores.PageCollection. Cada Page expone MediaBox, CropBox, rotación, recursos y operadores de contenido.DocumentInfo y XmpMetadata.getParser(), getCatalog() y getTrailer().getEmbeddedFiles().Document y llenar páginas.PdfFileEditor y la API Page.Annotation es la base para todas las anotación; los tipos concretos incluyen WidgetAnnotation, FreeTextAnnotation,HighlightAnnotation y UnderlineAnnotation.Document.getForm() para enumerar o crear las instancias ButtonField, CheckboxField y RadioButtonField.AppearanceCharacteristics color del borde, fondo, rotación y subtítulos.FormEditor y FormElement para la manipulación del formulario en un nivel superior.ActionRules y ActionFixes.AESCipher utilizando el modo CBC (AESCipher.encrypt(key, data) y AESCipher.decrypt(key, data)).Artifact y ArtifactCollection.PdfFileEditor.resizeContents() y ContentsResizeParameters.AnnotationRules y ActionRules.AESCipher para encriptar secciones de datos incrustados en flujos de documentos.Artifact que representan marcas d’agua y decoraciones de páginas.ActionFixes y AnnotationFixes para que los documentos existentes cumplan con las normas de archivo PDF/A-1b.Crear un nuevo documento, añadir una página y adjuntar una anotación de widget con estilo.
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");
}
Añadir un grupo de botones radio a un formulario del documento y seleccionar un valor programáticamente.
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");
}
Acceda a un documento existente y lea las dimensiones de la caja de medios de comunicación de su primera 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);
}