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

Aspose.PDF FOSS za Java

Stvarajte i manipulirajte PDF dokumentima iz Java — s anotacijama, poljima obrasca, manipulacijom stranica i usklađenošću s PDF/A. MIT-licencirana.

Besplatna MIT-licencirana Java biblioteka za stvaranje i manipuliranje PDF-om

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.

Struktura dokumenta i upravljanje stranicama

  • Document API: Koristite klasu Document za stvaranje novih PDF dokumenata. Postojeći dokumenti mogu se pristupiti putem konstruktora Document(filePath) ili Document(stream).
  • Upravljanje stranicama: Dodajte, pristupajte i mijenjajte stranice putem PageCollection. Svaki Page izlaže MediaBox, CropBox, rotaciju, resurse i operatore sadržaja.
  • Metadata: Čitajte i pišite metapodatke dokumenta putem DocumentInfo i XmpMetadata.
  • PDF struktura: Pristupite temeljim PDF objektima putem getParser(), getCatalog() i getTrailer().
  • Ugrađene datoteke: Upravljajte kolekcijama ugrađenih datoteka s getEmbeddedFiles().

Uobičajeni scenariji obrade dokumenata

  • PDF generation: Izradite dokumente programatski stvaranjem Document i popunjavanjem stranica.
  • Analiza dokumenta: Pristup postojećim datotekama za inspekciju metapodataka ili nabrajanje polja obrasca.
  • Manipulacija stranicama: Promijenite veličinu, rotirajte ili promijenite redoslijed stranica koristeći PdfFileEditor i Page API.
  • Batch workflows: Primijenite dosljedne transformacije na više dokumenata u poslužiteljskim cjevovodima.

Anotacije i polja obrasca

  • Hijerarhija anotacija: Apstraktna Annotation klasa je baza za sve anotacije; konkretni tipovi uključuju WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation i UnderlineAnnotation.
  • Interaktivni obrasci: Pristupite obrascu dokumenta putem Document.getForm() kako biste nabrojali ili stvorili ButtonField, CheckboxField i RadioButtonField instance.
  • Izgled widgeta: Upravljajte vizualnim svojstvima putem AppearanceCharacteristics — boja obruba, pozadina, rotacija i natpisi.
  • Uređivanje obrasca: Upotrijebite FormEditor i FormElement za manipulaciju obrascem na višoj razini.

Pregled i suradnja na dokumentima

  • Oznake za označavanje: Dodajte označavanje, podcrtavanje ili slobodne tekstualne bilješke u dokumente za radne tokove pregleda.
  • Interaktivni obrasci: Izradite ispunjive dokumente s radio gumbima, potvrdnim okvirima i tipkama za prikupljanje podataka.
  • Ekstrakcija podataka obrasca: Pročitajte vrijednosti poslanih polja obrasca za poslužiteljske cjevovode.
  • Usklađenost s arhiviranjem: Provjerite i popravite dokumente za dugoročno arhiviranje koristeći ActionRules i ActionFixes.

Sigurnost i operacije sadržaja

  • AES encryption: Enkriptirajte i dekriptirajte nizove bajtova podataka s AESCipher koristeći CBC način rada (AESCipher.encrypt(key, data) i AESCipher.decrypt(key, data)).
  • Upravljanje artefaktima: Identificirajte i manipulirajte zaglavljima, podnožjima, vodenižima i pozadinskim slikama putem Artifact i ArtifactCollection API-ja.
  • Content resize: Prilagodite raspored sadržaja stranice pomoću PdfFileEditor.resizeContents() i ContentsResizeParameters.
  • Provjera usklađenosti: Validirajte pravila za anotacije i radnje prema PDF/A standardima koristeći AnnotationRules i ActionRules.

Primjeri upotrebe sigurnosti dokumenata

  • Šifrirani tereti: Koristite AESCipher za šifriranje odjeljaka podataka ugrađenih u tokove dokumenta.
  • Zaštita dokumenta: Primijenite sigurnosne postavke za kontrolu pristupa u radnim tokovima usklađenosti.
  • Vodeni žigovi: Otkrivanje i upravljanje Artifact objektima koji predstavljaju vodene žigove i ukrase stranice.
  • Arhivska usklađenost: Pokrenite ActionFixes i AnnotationFixes kako bi postojeći dokumenti zadovoljili PDF/A-1b arhivske standarde.

Stvori dokument s widget anotacijom

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

Stvori obrazac s radio gumbima

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

Pregledaj dimenzije stranice dokumenta

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

Resursi za podršku i učenje

 Hrvatski