Aspose.PDF FOSS para Java é uma biblioteca Java licenciada sob MIT para criar e trabalhar com documentos PDF. Ela fornece uma classe Document abrangente como ponto de entrada central, juntamente com cobertura completa de anotações, campos de formulário interativos, manipulação de páginas, metadados e validação de conformidade PDF/A.
A biblioteca expõe 527 classes que cobrem toda a especificação PDF: estrutura do documento via Document, Page e PageCollection; anotações através da hierarquia Annotation (incluindo WidgetAnnotation, FreeTextAnnotation e HighlightAnnotation); formulários interativos com Form, ButtonField, CheckboxField e RadioButtonField; renderização de página via BmpDevice; e verificação de conformidade PDF/A através de ActionRules e ActionFixes. A criptografia é fornecida via AESCipher no modo CBC.
Adicione Aspose.PDF FOSS ao seu projeto Maven usando groupId org.aspose e artifactId aspose-pdf. A biblioteca requer Java 11 ou posterior e é totalmente licenciada sob MIT. Para recursos empresariais e suporte, veja Aspose.PDF for Java — Enterprise Product.
Document para criar novos documentos PDF. Documentos existentes podem ser acessados através dos constructores Document(filePath) ou Document(stream).PageCollection. Cada Page expõe MediaBox , CropBox , rotação, recursos e operadores de conteúdo.DocumentInfo e XmpMetadata.getParser(), getCatalog() e getTrailer().getEmbeddedFiles().Document e preenchendo páginas.PdfFileEditor e a API Page.Annotation é a base para todas as anodações; os tipos concretos incluem WidgetAnnotation, FreeTextAnnotation,HighlightAnnotation e UnderlineAnnotation.Document.getForm() para enumerar ou criar instâncias ButtonField, CheckboxField e RadioButtonField.AppearanceCharacteristics cor da borda, fundo, rotação e legendas.FormEditor e FormElement para manipulações de formulario de nível superior.ActionRules e ActionFixes.AESCipher usando o modo CBC (AESCipher.encrypt(key, data) e AESCipher.decrypt(key, data)).Artifact e ArtifactCollection.PdfFileEditor.resizeContents() e ContentsResizeParameters.AnnotationRules e ActionRules.AESCipher para encriptar secções de dados incorporados em fluxos de documentos.Artifact objetos que representam marcas de água e decorações de página.ActionFixes e AnnotationFixes para que os documentos existentes cumpram as normas de archivo PDF/A-1b.Crie um novo documento, adicione uma página e anexe uma anotação do widget com 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");
}
Adicionar um grupo de botões de rádio a um formulário do documento e selecionar o valor programaticamente.
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");
}
Acesse um documento existente e leia as dimensões da caixa de mídia na primeira 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);
}