Aspose.PDF FOSS for Java — это библиотека Java с лицензией MIT для создания и работы с PDF‑документами. Она предоставляет всесторонний класс Document в качестве центральной точки входа, а также полное покрытие аннотаций, интерактивных полей форм, манипуляций со страницами, метаданных и проверки соответствия PDF/A.
Библиотека предоставляет 527 классов, охватывающих полную спецификацию PDF: структуру документа через Document, Page и PageCollection; аннотации через иерархию Annotation (включая WidgetAnnotation, FreeTextAnnotation и HighlightAnnotation); интерактивные формы с Form, ButtonField, CheckboxField и RadioButtonField; рендеринг страниц через BmpDevice; и проверку соответствия PDF/A через ActionRules и ActionFixes. Шифрование предоставляется через AESCipher в режиме CBC.
Добавьте Aspose.PDF FOSS в ваш Maven‑проект, используя groupId org.aspose и artifactId aspose-pdf. Библиотека требует Java 11 или новее и полностью лицензирована под MIT. Для корпоративных функций и поддержки см. Aspose.PDF for Java — Enterprise Product.
Document для создания новых PDF-документов. Доступ к существующим документам можно получить через конструкторы Document(filePath) или Document(stream).PageCollection. Каждый Page выставляет на поверхность MediaBox, CropBox , ротацию, ресурсы и операторы контента.DocumentInfo и XmpMetadata.getParser(), getCatalog() и getTrailer().getEmbeddedFiles().Document и заполнения страниц.PdfFileEditor и API Page.Annotation является основой для всех аннот; конкретные типы включают в себя WidgetAnnotation, FreeTextAnnotation,HighlightAnnotation и UnderlineAnnotation.Document.getForm() для перечисления или создания экземпляров ButtonField, CheckboxField и RadioButtonField.AppearanceCharacteristics цвет границы, фон, вращение и заголовки.FormEditor и FormElement для манипулирования формами более высокого уровня.ActionRules и ActionFixes.AESCipher в режиме CBC (AESCipher.encrypt(key, data) и AESCipher.decrypt(key, data)).Artifact и ArtifactCollection.PdfFileEditor.resizeContents() и ContentsResizeParameters.AnnotationRules и ActionRules.AESCipher для шифрования разделов данных, встроенных в потоки документов.Artifact объектами, представляющими водовые знаки и украшения страниц.ActionFixes и AnnotationFixes, чтобы существующие документы соответствовали архивному стандарту PDF/A-1b.Создайте новый документ, добавьте страницу и прикрепите аннотацию с стилем.
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");
}
Добавить группу радио кнопок в форму документа и выберите значение программированным образом.
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");
}
Доступ к существующему документу и чтение размеров медиа-кробки первой страницы.
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);
}