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

Aspose.PDF FOSS skirta Java

Kurkite ir manipuliuokite PDF dokumentais iš Java — su anotacijomis, formų laukais, puslapių manipuliavimu ir PDF/A atitiktimi. MIT licencijos.

Nemokama MIT licencijos Java biblioteka PDF kūrimui ir manipuliavimui

Aspose.PDF FOSS for Java yra MIT licencijuota Java biblioteka, skirta kurti ir dirbti su PDF dokumentais. Ji suteikia išsamų Document klasę kaip pagrindinį įėjimo tašką, kartu su pilna anotacijų, interaktyvių formų laukų, puslapių manipuliavimo, metaduomenų ir PDF/A atitikties patikrinimo aprėptimi.

Biblioteka pateikia 527 klases, apimančias visą PDF specifikaciją: dokumentų struktūrą per Document, Page ir PageCollection; anotacijas per Annotation hierarchiją (įskaitant WidgetAnnotation, FreeTextAnnotation ir HighlightAnnotation); interaktyvias formas su Form, ButtonField, CheckboxField ir RadioButtonField; puslapių atvaizdavimą per BmpDevice; ir PDF/A atitikties tikrinimą per ActionRules ir ActionFixes. Šifravimas teikiamas per AESCipher CBC režimu.

Pridėkite Aspose.PDF FOSS į savo Maven projektą, naudodami groupId org.aspose ir artifactId aspose-pdf. Biblioteka reikalauja Java 11 arba naujesnės ir yra visiškai MIT licencijuota. Dėl įmonės funkcijų ir palaikymo žiūrėkite Aspose.PDF for Java — Enterprise Product.

Dokumento struktūra ir puslapių valdymas

  • Document API: Naudokite Document klasę naujiems PDF dokumentams kurti. Esami dokumentai gali būti pasiekiami per Document(filePath) arba Document(stream) konstruktorius.
  • Puslapių valdymas: Pridėkite, pasiekite ir modifikuokite puslapius per PageCollection. Kiekvienas Page atskleidžia MediaBox, CropBox, sukimosi, išteklių ir turinio operatorius.
  • Metadata: Skaityti ir rašyti dokumento metaduomenis per DocumentInfo ir XmpMetadata.
  • PDF struktūra: Prieikite prie pagrindinių PDF objektų per getParser(), getCatalog() ir getTrailer().
  • Įterpti failai: Tvarkykite įterptų failų kolekcijas su getEmbeddedFiles().

Įprasti dokumentų apdorojimo scenarijai

  • PDF generation: Sukurkite dokumentus programiškai sukurdami Document ir užpildydami puslapius.
  • Document analysis: Pasiekite esamus failus, kad patikrintumėte metaduomenis arba išvardintumėte formų laukus.
  • Puslapių manipuliavimas: Keiskite dydį, sukite arba pertvarkykite puslapius naudodami PdfFileEditor ir Page API.
  • Batch workflows: Taikykite nuoseklius transformavimus keliuose dokumentuose serverio pusės konvejeriuose.

Anotacijos ir formų laukai

  • Anotacijų hierarchija: Abstrakti Annotation klasė yra pagrindas visoms anotacijoms; konkretūs tipai apima WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation ir UnderlineAnnotation.
  • Interaktyvios formos: Pasiekite dokumento formą per Document.getForm(), kad išvardintumėte arba sukurtumėte ButtonField, CheckboxField ir RadioButtonField egzempliorius.
  • Valdiklio išvaizda: Valdykite vizualias savybes per AppearanceCharacteristics — rėmelio spalvą, foną, sukimą ir antraštes.
  • Formų redagavimas: Naudokite FormEditor ir FormElement aukštesnio lygio formų manipuliavimui.

Dokumento peržiūra ir bendradarbiavimas

  • Žymėjimo anotacijos: Pridėkite paryškinimo, pabraukimo arba laisvo teksto anotacijas prie dokumentų peržiūros darbo srautams.
  • Interaktyvios formos: Kurkite užpildomus dokumentus su radijo mygtukais, žymimais laukeliais ir paspaudžiamaisiais mygtukais duomenų rinkimui.
  • Formų duomenų išgavimas: Skaityti pateiktų formų laukų reikšmes serverio pusės konvejeriams.
  • Archyvavimo atitiktis: Patikrinkite ir pataisykite dokumentus ilgalaikiam archyvavimui naudodami ActionRules ir ActionFixes.

Saugumo ir turinio operacijos

  • AES šifravimas: Užšifruokite ir iššifruokite duomenų baitų masyvus su AESCipher naudojant CBC režimą (AESCipher.encrypt(key, data) ir AESCipher.decrypt(key, data)).
  • Artefaktų valdymas: Identifikuokite ir valdykite antraštes, poraštes, vandens ženklus ir fono vaizdus per Artifact ir ArtifactCollection APIs.
  • Content resize: Reguliuokite puslapio turinio išdėstymą naudodami PdfFileEditor.resizeContents() ir ContentsResizeParameters.
  • Compliance validation: Patikrinkite anotacijų ir veiksmų taisykles pagal PDF/A standartus naudodami AnnotationRules ir ActionRules.

Dokumento saugumo naudojimo atvejai

  • Užšifruoti duomenų paketus: Naudokite AESCipher, kad užšifruotumėte duomenų sekcijas, įterptas dokumento srautuose.
  • Document protection: Taikykite saugumo nustatymus prieigos kontrolei atitikties darbo srautuose.
  • Vandens žymėjimas: Aptikti ir valdyti Artifact objektus, atstovaujančius vandens žymas ir puslapio dekoracijas.
  • Archyvavimo atitiktis: Paleiskite ActionFixes ir AnnotationFixes, kad esami dokumentai atitiktų PDF/A-1b archyvavimo standartus.

Sukurti dokumentą su valdiklio anotacija

Sukurkite naują dokumentą, pridėkite puslapį ir pridėkite valdiklio anotaciją su stiliumi.

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

Sukurti formą su radijo mygtukais

Pridėkite radijo mygtukų grupę į dokumento formą ir pasirinkite reikšmę programiškai.

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

Patikrinti dokumento puslapio matmenis

Pasiekite esamą dokumentą ir perskaitykite pirmojo puslapio media box matmenis.

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

 Lietuvių