Aspose.PDF FOSS za Java je MIT-licencirana Java biblioteka za stvaranje i rad s PDF dokumentima. Pruža sveobuhvatnu Document klasu kao središnju točku ulaza, uz potpunu podršku za anotacije, interaktivna polja obrasca, manipulaciju stranicama, metapodatke i provjeru usklađenosti s PDF/A.
Biblioteka izlaže 527 klasa koje pokrivaju cijelu PDF specifikaciju: strukturu dokumenta putem Document, Page i PageCollection; anotacije kroz hijerarhiju Annotation (uključujući WidgetAnnotation, FreeTextAnnotation i HighlightAnnotation); interaktivne obrasce s Form, ButtonField, CheckboxField i RadioButtonField; renderiranje stranica putem BmpDevice; i provjeru usklađenosti s PDF/A putem ActionRules i ActionFixes. Šifriranje se pruža putem AESCipher u CBC mode.
Dodajte Aspose.PDF FOSS u svoj Maven projekt koristeći groupId org.aspose i artifactId aspose-pdf. Biblioteka zahtijeva Java 11 ili noviji i potpuno je pod MIT licencom. Za enterprise značajke i podršku, pogledajte Aspose.PDF for Java — Enterprise Product.
Document za stvaranje novih PDF dokumenata. Postojeći dokumenti mogu se 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 popunjavanjem stranica.PdfFileEditor i Page API.Annotation klasa je baza za sve anotacije; konkretni tipovi uključuju WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation i UnderlineAnnotation.Document.getForm() kako biste nabrojali ili stvorili ButtonField, CheckboxField i RadioButtonField instance.AppearanceCharacteristics — boja obruba, pozadina, rotacija i natpisi.FormEditor i FormElement za manipulaciju obrascem na višoj razini.ActionRules i ActionFixes.AESCipher koristeći CBC način rada (AESCipher.encrypt(key, data) i AESCipher.decrypt(key, data)).Artifact i ArtifactCollection API-ja.PdfFileEditor.resizeContents() i ContentsResizeParameters.AnnotationRules i ActionRules.AESCipher za šifriranje odjeljaka podataka ugrađenih u tokove dokumenta.Artifact objektima koji predstavljaju vodene žigove i ukrase stranice.ActionFixes i AnnotationFixes kako bi postojeći dokumenti zadovoljili PDF/A-1b arhivske standarde.Stvorite novi dokument, dodajte stranicu i priložite widget anotaciju s oblikovanjem.
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 gumba u obrazac dokumenta i odaberite vrijednost programatski.
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 boxa 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);
}