Aspose.PDF FOSS za Java je MIT-licencirana Java biblioteka za kreiranje i rad sa PDF dokumentima. Ona pruža sveobuhvatnu Document klasu kao centralnu tačku ulaza, uz potpunu pokrivenost anotacija, interaktivnih polja formulara, manipulacije stranicama, metapodataka i validacije usklađenosti sa PDF/A.
Biblioteka izlaže 527 klasa koje pokrivaju kompletnu PDF specifikaciju: strukturu dokumenta putem Document, Page i PageCollection; anotacije kroz hijerarhiju Annotation (uključujući WidgetAnnotation, FreeTextAnnotation i HighlightAnnotation); interaktivne forme sa Form, ButtonField, CheckboxField i RadioButtonField; renderovanje stranica putem BmpDevice; i proveru usklađenosti sa PDF/A putem ActionRules i ActionFixes. Šifrovanje se obezbeđuje putem AESCipher u CBC režimu.
Dodajte Aspose.PDF FOSS u vaš Maven projekat koristeći groupId org.aspose i artifactId aspose-pdf. Biblioteka zahteva Java 11 ili noviji i potpuno je pod MIT licencom. Za enterprise funkcije i podršku, pogledajte Aspose.PDF for Java — Enterprise Product.
Document za kreiranje novih PDF dokumenata. Postojeći dokumenti se mogu pristupiti putem konstruktora Document(filePath) ili Document(stream).PageCollection. Svaki Page izlaže MediaBox, CropBox, rotaciju, resurse i operatore sadržaja.DocumentInfo i XmpMetadata.getParser(), getCatalog() i getTrailer().getEmbeddedFiles().Document i popuniti stranice.PdfFileEditor i Page API.Annotation klasa je osnova za sve anotacije; konkretni tipovi uključuju WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation i UnderlineAnnotation.Document.getForm() da izlistate ili kreirate ButtonField, CheckboxField i RadioButtonField instance.AppearanceCharacteristics — boja ivice, pozadina, rotacija i natpisi.FormEditor i FormElement za manipulaciju formom na višem nivou.ActionRules i ActionFixes.AESCipher koristeći CBC režim (AESCipher.encrypt(key, data) i AESCipher.decrypt(key, data)).Artifact i ArtifactCollection API-ja.PdfFileEditor.resizeContents() i ContentsResizeParameters.AnnotationRules i ActionRules.AESCipher za šifrovanje sekcija podataka ugrađenih u tokove dokumenta.Artifact објектима који представљају водене знаке и декорације страница.ActionFixes i AnnotationFixes da bi postojeći dokumenti zadovoljili PDF/A-1b arhivske standarde.Kreirajte novi dokument, dodajte stranicu i prikačite widget anotaciju sa stilizacijom.
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");
}
Dodajte grupu radio dugmića u obrazac dokumenta i programatski izaberite vrednost.
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");
}
Pristupite postojećem dokumentu i pročitajte dimenzije media box‑a prve stranice.
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);
}