Aspose.PDF FOSS pro Java je knihovna Java licencovaná pod MIT, určená pro vytváření a práci s PDF dokumenty. Poskytuje komplexní třídu Document jako centrální vstupní bod, spolu s úplnou podporou anotací, interaktivních formulářových polí, manipulace s stránkami, metadat a validace souladu s PDF/A.
Knihovna poskytuje 527 tříd pokrývajících celou specifikaci PDF: strukturu dokumentu přes Document, Page a PageCollection; anotace prostřednictvím hierarchie Annotation (včetně WidgetAnnotation, FreeTextAnnotation a HighlightAnnotation); interaktivní formuláře s Form, ButtonField, CheckboxField a RadioButtonField; vykreslování stránek přes BmpDevice; a kontrolu souladu s PDF/A prostřednictvím ActionRules a ActionFixes. Šifrování je poskytováno prostřednictvím AESCipher v režimu CBC.
Přidejte Aspose.PDF FOSS do svého Maven projektu pomocí groupId org.aspose a artifactId aspose-pdf. Knihovna vyžaduje Java 11 nebo novější a je plně licencována pod MIT. Pro podnikové funkce a podporu viz Aspose.PDF for Java — Enterprise Product.
Document k vytvoření nových PDF dokumentů. Existující dokumenty lze získat pomocí konstruktorů Document(filePath) nebo Document(stream).PageCollection. Každý Page poskytuje MediaBox, CropBox, rotaci, zdroje a operátory obsahu.DocumentInfo a XmpMetadata.getParser(), getCatalog() a getTrailer().getEmbeddedFiles().Document a naplňováním stránek.PdfFileEditor a Page API.Annotation je základem pro všechny anotace; konkrétní typy zahrnují WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation a UnderlineAnnotation.Document.getForm() pro výčet nebo vytvoření ButtonField, CheckboxField a RadioButtonField instancí.AppearanceCharacteristics — barva okraje, pozadí, rotace a popisky.FormEditor a FormElement pro manipulaci s formulářem na vyšší úrovni.ActionRules a ActionFixes.AESCipher v režimu CBC (AESCipher.encrypt(key, data) a AESCipher.decrypt(key, data)).Artifact a ArtifactCollection API.PdfFileEditor.resizeContents() a ContentsResizeParameters.AnnotationRules a ActionRules.AESCipher k šifrování datových sekcí vložených do proudů dokumentu.Artifact představující vodoznaky a dekorace stránek.ActionFixes a AnnotationFixes, aby existující dokumenty splňovaly archivní standard PDF/A-1b.Vytvořte nový dokument, přidejte stránku a připojte widgetovou anotaci se stylováním.
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");
}
```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");
}
Přidejte radio button group do formuláře dokumentu a vyberte hodnotu programově.
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");
}
Přistupte k existujícímu dokumentu a přečtěte rozměry media boxu první stránky.
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);
}