Aspose.PDF FOSS для 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);
}