Aspose.PDF FOSS pre Java je knižnica Java licencovaná pod MIT, určená na vytváranie a prácu s PDF dokumentmi. Poskytuje komplexnú triedu Document ako centrálny vstupný bod, spolu s úplnou podporou anotácií, interaktívnych formulárových polí, manipulácie so stránkami, metadát a validácie zhody s PDF/A.
Knižnica poskytuje 527 tried pokrývajúcich celú špecifikáciu PDF: štruktúru dokumentu prostredníctvom Document, Page a PageCollection; anotácie prostredníctvom hierarchie Annotation (vrátane WidgetAnnotation, FreeTextAnnotation a HighlightAnnotation); interaktívne formuláre s Form, ButtonField, CheckboxField a RadioButtonField; renderovanie stránok prostredníctvom BmpDevice; a kontrolu súladu s PDF/A prostredníctvom ActionRules a ActionFixes. Šifrovanie je poskytované prostredníctvom AESCipher v režime CBC.
Pridajte Aspose.PDF FOSS do svojho Maven projektu pomocou groupId org.aspose a artifactId aspose-pdf. Knižnica vyžaduje Java 11 alebo novší a je plne licencovaná pod MIT. Pre podnikové funkcie a podporu pozrite Aspose.PDF for Java — Enterprise Product.
Document na vytvorenie nových PDF dokumentov. Existujúce dokumenty je možné získať pomocou konštruktorov Document(filePath) alebo Document(stream).PageCollection. Každý Page odhaľuje MediaBox, CropBox, rotáciu, zdroje a operátory obsahu.DocumentInfo a XmpMetadata.getParser(), getCatalog() a getTrailer().getEmbeddedFiles().Document a naplnením strán.PdfFileEditor a Page API.Annotation je základom pre všetky anotácie; konkrétne typy zahŕňajú WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation a UnderlineAnnotation.Document.getForm() na vymenovanie alebo vytvorenie ButtonField, CheckboxField a RadioButtonField inštancií.AppearanceCharacteristics — farba okraja, pozadie, rotácia a popisky.FormEditor a FormElement pre manipuláciu s formulárom na vyššej úrovni.ActionRules a ActionFixes.AESCipher v režime CBC (AESCipher.encrypt(key, data) a AESCipher.decrypt(key, data)).Artifact a ArtifactCollection.PdfFileEditor.resizeContents() a ContentsResizeParameters.AnnotationRules a ActionRules.AESCipher na šifrovanie dátových sekcií vložených do prúdov dokumentu.Artifact objekty predstavujúce vodoznaky a dekorácie stránok.ActionFixes a AnnotationFixes, aby existujúce dokumenty spĺňali archívne štandardy PDF/A-1b.Vytvorte nový dokument, pridajte stránku a pripojte widget anotáciu so štýlom.
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");
}
Pridajte skupinu rádiových tlačidiel do formulára dokumentu a programovo vyberte hodnotu.
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");
}
Získajte prístup k existujúcemu dokumentu a prečítajte rozmery media boxu prvej 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);
}