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

Aspose.PDF FOSS for Java

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

Besplatna MIT-licencirana Java knjižnica za stvaranje i manipulaciju 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, zajedno s potpunim pokrivanjem anotacija, interaktivnih polja obrasca, manipulacije stranicama, metapodataka i provjere 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 načinu.

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 MIT-licencirana. Za enterprise značajke i podršku, pogledajte Aspose.PDF for Java — Enterprise Product.

Struktura dokumenta i upravljanje stranicama

  • ** API dokumenta:** Koristite klasu Document za kreiranje novih PDF dokumenata. Dosadašnjim dokumentima se može pristupiti putem konstruktorja Document(filePath) ili Document(stream).
  • ** Upravljanje stranicama:** Dodaj, pristup i izmjena stranica putem PageCollection. Svaki Page izložava MediaBox , CropBox , rotaciju, resurse i operatore sadržaja.
  • ** Metapodatki:** Čitanje i pisanje metapodataka dokumenta putem DocumentInfo i XmpMetadata.
  • PDF struktura: Pristup temeljnim PDF objektima putem getParser(), getCatalog() i getTrailer().
  • Ugraničene datoteke: Upravljajte uklopljenim zbirkama datotek s getEmbeddedFiles().

Scenariji za zajedničko obradu dokumenata

  • PDF generacija: Programski kreirati dokumente stvaranjem Document i popunjavanjem stranica.
  • Analiza dokumenta: Pristup postojećim datotekama za pregled metapodataka ili popis polja obrazaca.
  • ** Manipulacija stranica:** Premenite veličinu, okrenite ili preuređujte stranice koristeći PdfFileEditor i API-ju Page .
  • Pokretni tokovi rada: Primjenjuje se dosljedna transformacija u više dokumenata na strani poslužitelja.

Oznake i polja obrazaca

  • Hijerarhija anotiranja: Abstraktna Annotation klasa je osnova za sve anotacije; konkretni tipovi uključuju WidgetAnnotation, FreeTextAnnotation,HighlightAnnotation i UnderlineAnnotation.
  • Interaktivni obrasci: Pristupite obrazac dokumenta putem Document.getForm() za popis ili kreiranje instancama ButtonField, CheckboxField i RadioButtonField.
  • ** Izgled widget:** Kontrolirajte vizualne svojstva kroz AppearanceCharacteristics boju granice, pozadinu, rotaciju i natpisa.
  • Izgradnja obrazaca: Koristite FormEditor i FormElement za manipulaciju obrazacima na višoj razini.

Proučavanje i suradnja s dokumentima

  • Oznake za označavanje: Dodajte naglaske, podkrepljene ili besplatne tekstove u dokumente radi pregleda tokova rada.
  • Interaktivni obrasci: Izgradite dokumente koji se mogu ispuniti pomoću radio dugmića, kartica za odabir i gumbova za hvatanje podataka.
  • Izvadba podataka iz obrasca: Pročitavanje vrijednosti polja dostavljenih obrazaca za provodnike na strani poslužitelja.
  • U skladu s archivalnom: Validiranje i popravak dokumenata za dugoročno arhiviranje pomoću ActionRules i ActionFixes.

Obavješćivanje o sigurnosti i sadržaju

  • AES šifriranje: Šifrirati i dešifrovati datoteke bajtne matrice s AESCipher koristeći CBC način (AESCipher.encrypt(key, data) i AESCipher.decrypt(key, data)).
  • ** Upravljanje artefaktom:** Identificirati i upravljati zaglavljama, podnožima, vodenicima i slikama pozadine putem API-ja Artifact i ArtifactCollection.
  • Promjena veličine sadržaja: Prilagodi raspored sadržaj stranice s PdfFileEditor.resizeContents() i ContentsResizeParameters.
  • ** Validacija sukladnosti:** Vrijedite pravila za komentiranje i djelovanje prema PDF/A standardima koristeći AnnotationRules i ActionRules.

Primjeri upotrebe sigurnosti dokumenata

  • Šifrirani korisni tereti: Koristite AESCipher za šifriranje dijelova podataka ugrađenih u tokove dokumenata.
  • Zaštita dokumenata: Primjenite sigurnosna podešavanja za kontrolu pristupa u radnim tokovima usklađenosti.
  • Vatermarkiranje: Otkrivanje i upravljanje Artifact objektima koji predstavljaju vodene oznake i dekoracije stranica.
  • Arhivska usklađenost: Pokrenite ActionFixes i AnnotationFixes kako bi postojeći dokumenti ispunili PDF/A-1b arhivske standarde.

Stvaranje dokumenta s Widgetom Anotation

Stvorite novi dokument, dodajte stranicu i priložite widget komentare sa stilom.

try (Document doc = new Document()) ```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");
}

Stvoriti obrazac s radio dugmićima

Dodajte grupu radio dugme na obrazac dokumenta i programski odaberite vrijednost.

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

Provjeriti dimenzije stranica 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);
}
  

Resursi za podršku i učenje

 Hrvatski