1. Products
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Java

Aspose.PDF FOSS za Java

Kreirajte i manipulišite PDF dokumentima iz Java — sa anotacijama, poljima obrazaca, manipulacijom stranica i usklađenošću sa PDF/A. Licencirano pod MIT-om.

Besplatna Java biblioteka pod MIT licencom za kreiranje i manipulaciju PDF-om

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.

Struktura dokumenta i upravljanje stranicama

  • Document API: Koristite klasu Document za kreiranje novih PDF dokumenata. Postojeći dokumenti se mogu pristupiti putem konstruktora Document(filePath) ili Document(stream).
  • Upravljanje stranicama: Dodajte, pristupajte i izmenite stranice putem PageCollection. Svaki Page izlaže MediaBox, CropBox, rotaciju, resurse i operatore sadržaja.
  • Metapodaci: Čitajte i pišite metapodatke dokumenta putem DocumentInfo i XmpMetadata.
  • PDF struktura: Pristupite osnovnim PDF objektima putem getParser(), getCatalog() i getTrailer().
  • Ugrađeni fajlovi: Upravljajte kolekcijama ugrađenih fajlova pomoću getEmbeddedFiles().

Uobičajeni scenariji obrade dokumenata

  • PDF generisanje: Kreirajte dokumente programatski tako što ćete napraviti Document i popuniti stranice.
  • Analiza dokumenta: Pristupite postojećim fajlovima radi inspekcije metapodataka ili nabrajanja polja obrasca.
  • Manipulacija stranicama: Promenite veličinu, rotirajte ili preuredite stranice koristeći PdfFileEditor i Page API.
  • Batch workflows: Primijenite dosledne transformacije na više dokumenata u server‑side pipeline‑ima.

Anotacije i polja obrazaca

  • Annotation hierarchy: Apstraktna Annotation klasa je osnova za sve anotacije; konkretni tipovi uključuju WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation i UnderlineAnnotation.
  • Interaktivni obrasci: Pristupite obrascu dokumenta putem Document.getForm() da izlistate ili kreirate ButtonField, CheckboxField i RadioButtonField instance.
  • Izgled widgeta: Kontrolišite vizuelna svojstva putem AppearanceCharacteristics — boja ivice, pozadina, rotacija i natpisi.
  • Uređivanje forme: Koristite FormEditor i FormElement za manipulaciju formom na višem nivou.

Pregled dokumenata i saradnja

  • Oznake za označavanje: Dodajte isticanje, podvlačenje ili slobodne tekstualne anotacije u dokumente za radne tokove pregleda.
  • Interaktivni obrasci: Izradite popunjive dokumente sa radio dugmadima, potvrdnim poljima i tasterima za prikupljanje podataka.
  • Ekstrakcija podataka iz forme: Pročitajte podnete vrednosti polja forme za server‑side pipeline‑e.
  • Arhivska usklađenost: Validirajte i popravite dokumente za dugoročno arhiviranje koristeći ActionRules i ActionFixes.

Bezbednost i operacije sadržaja

  • AES encryption: Enkriptujte i dekriptujte nizove bajtova podataka sa AESCipher koristeći CBC režim (AESCipher.encrypt(key, data) i AESCipher.decrypt(key, data)).
  • Upravljanje artefaktima: Identifikujte i manipulišite zaglavljima, podnožjima, vodeni žigovima i pozadinskim slikama putem Artifact i ArtifactCollection API-ja.
  • Promena veličine sadržaja: Podesite raspored sadržaja stranice pomoću PdfFileEditor.resizeContents() i ContentsResizeParameters.
  • Validacija usklađenosti: Validirajte pravila anotacija i akcija prema PDF/A standardima koristeći AnnotationRules i ActionRules.

Slučajevi upotrebe sigurnosti dokumenata

  • Šifrovani tereti: Koristite AESCipher za šifrovanje sekcija podataka ugrađenih u tokove dokumenta.
  • Zaštita dokumenta: Primeni sigurnosna podešavanja za kontrolu pristupa u radnim tokovima usklađenosti.
  • Водени знаци: Откријте и управљајте Artifact објектима који представљају водене знаке и декорације страница.
  • Arhivska usklađenost: Pokrenite ActionFixes i AnnotationFixes da bi postojeći dokumenti zadovoljili PDF/A-1b arhivske standarde.

Kreirajte dokument sa widget anotacijom

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");
}

Kreirajte obrazac sa radio dugmadima

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");
}

Pregledajte dimenzije stranice dokumenta

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);
}
  

Support and Learning Resources

 Српски