Aspose.PDF FOSS dla Java jest biblioteką Java na licencji MIT służącą do tworzenia i pracy z dokumentami PDF. Dostarcza kompleksową klasę Document jako centralny punkt wejścia, wraz z pełnym wsparciem adnotacji, interaktywnych pól formularzy, manipulacji stronami, metadanymi oraz walidacją zgodności PDF/A.
Biblioteka udostępnia 527 klas obejmujących pełną specyfikację PDF: strukturę dokumentu poprzez Document, Page i PageCollection; adnotacje poprzez hierarchię Annotation (w tym WidgetAnnotation, FreeTextAnnotation i HighlightAnnotation); interaktywne formularze z Form, ButtonField, CheckboxField i RadioButtonField; renderowanie stron za pomocą BmpDevice; oraz sprawdzanie zgodności PDF/A poprzez ActionRules i ActionFixes. Szyfrowanie jest zapewnione przez AESCipher w trybie CBC.
Dodaj Aspose.PDF FOSS do swojego projektu Maven, używając groupId org.aspose i artifactId aspose-pdf. Biblioteka wymaga Java 11 lub nowszej i jest w pełni na licencji MIT. Aby uzyskać funkcje i wsparcie dla przedsiębiorstw, zobacz Aspose.PDF for Java — Enterprise Product.
Document do tworzenia nowych dokumentów PDF. Do istniejących dokumentůw można uzyskać dostęp za pomocą konstruktorów Document(filePath) lub Document(stream) .PageCollection. Każdy Page ujawnia MediaBox, CropBox, rotację, zasoby i operatorów treści.DocumentInfo oraz XmpMetadata.getParser(), getCatalog() i getTrailer().getEmbeddedFiles().Document i wypełnianie stron.PdfFileEditor i API Page.Annotation jest bazą dla wszystkich adnotacji; typy konkretne obejmują WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation i UnderlineAnnotation.Document.getForm(), aby wyliczyć lub utworzyć instancje ButtonField, CheckboxField i RadioButtonField.AppearanceCharacteristics — kolor obramowania, tło, obrót i podpisy.FormEditor i FormElement do manipulacji formularzem na wyższym poziomie.ActionRules oraz ActionFixes.AESCipher w trybie CBC (AESCipher.encrypt(key, data) i AESCipher.decrypt(key, data)).Artifact i ArtifactCollection.PdfFileEditor.resizeContents() i ContentsResizeParameters.AnnotationRules oraz ActionRules.AESCipher do szyfrowania sekcji danych wbudowanych w strumienie dokumentów.Artifact obiektami reprezentującymi wstrzykiwacze oraz dekoracje stron.ActionFixes i AnnotationFixes, aby istniejące dokumenty spełniały standardy archiwalne PDF/A-1b.Stwórz nowy dokument, dodaj stronę i przyłącz widżet z komentarzem.
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");
}
Dodaj grupę przycisków radiowych do formularza dokumentu i wybierz wartość programowo.
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");
}
Dostęp do istniejącego dokumentu i odczytać wymiary skrzynki multimedialnej pierwszej strony.
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);
}