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

Aspose.PDF FOSS for Java

Kurti ir tvarkyti PDF dokumentus iš Java — su anotacijomis, formų laukais, puslapių manipuliavimu ir PDF/A atitiktimi. MIT licencijuota.

Nemokama MIT licencija "Java" biblioteka PDF kūrimui ir manipuliavimui

Aspose.PDF FOSS for Java yra MIT licencijuota Java biblioteka, skirta PDF dokumentų kūrimui ir apdorojimui. 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 atskleidžia 527 klases, apimančias visą PDF specifikaciją: dokumento 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 vėlesnės versijos 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 puslapio valdymas

  • Dokumentų API: Naudokite klasę Document kurti naujus PDF dokumentus. Esamiems dokumentams galima pasiekti per Document(filePath) ar Document(stream) konstruktoriai.
  • Spaudos valdymas: Pridėti, pasiekti ir keisti puslapius per PageCollection. Kiekvienas Page atskleidžia MediaBox, CropBox, sukimosi, išteklių ir turinio operatorių.
  • ** Metaduomenys:** Skaityti ir rašyti dokumento metadatus per DocumentInfo ir XmpMetadata.
  • PDF struktūra: Priekiliauti prie pagrindinių PDF objektų per getParser(), getCatalog() ir getTrailer().
  • ** Įterpti failai:** Valdyti įterptus failų rinkinius naudojant getEmbeddedFiles().

Bendrų dokumentų tvarkymo scenarijų aprašymas

  • PDF kūrimas: Programmatiškai kurti dokumentus, sukuriant Document ir užpildydamas puslapius.
  • ** Dokumento analizė:** Galima pasiekti esamus failus, kad būtų galima patikrinti metaduomenis arba suskaičiuoti formos lauką.
  • Page manipulacija: Perskirtinis, sukimtai arba perordinuoti puslapius naudojant PdfFileEditor ir Page API.
  • Sudėtinės darbo srautai: Taikyti nuoseklius pakeitimus daugelyje dokumentų serverio pusėje.

Anotatyvos ir formos laukai

  • Anotacijos hierarchija: Abstraktinė Annotation klasė yra visų anotacijų pagrindas; konkrečiai naudojami tipai yra WidgetAnnotation, FreeTextAnnotation,HighlightAnnotation ir UnderlineAnnotation.
  • Interaktyvios formos: Į dokumentacijos formą galima patekti naudojant Document.getForm(), kad būtų galima suskaičiuoti arba sukurti ButtonField, CheckboxField ir RadioButtonField atvejus.
  • ** Widget išvaizda:** Kontrolė vizualias savybes per AppearanceCharacteristics ribos spalva, fonas, sukimosi ir užrašų.
  • Formulės redaguoti: Naudokite FormEditor ir FormElement didesnio lygio formų manipuliavimui.

Dokumento peržiūra ir bendradarbiavimas

  • Paprašymų ženklinimas: Dokumentams pridėti akcentuotas, pabrėžtas arba laisvo teksto pastabos peržiūrai.
  • Interaktyvios formos: Sukurti užpildomus dokumentus su radijo mygtukomis, pažymėjimo langiais ir spausdinimo mygtukais duomenų gavimui.
  • Formulės duomenų gavimas: Skaityti pateiktų formų laukų vertes serverinės pusės vamzdynoms.
  • Archivavimo atitiktis: Dokumentai gali būti patvirtinami ir ištaisomi ilgalaikiam archyvavimui naudojant ActionRules ir ActionFixes.

Saugumo ir turinio operacijos

  • AES šifravimas: Šifruoti ir iššifruoti duomenų bajtų rinkinius naudojant AESCipher naudodami CBC režimą (AESCipher.encrypt(key, data) ir AESCipher.decrypt(key, data)).
  • Artifacto valdymas: Identifikuoti ir manipuliuoti antraštes, pėdsakus, vandens ženklus ir fone vaizdus per Artifact ir ArtifactCollection API.
  • ** Turinio dydis:** Patikslinti puslapio turinio išdėstymą naudojant PdfFileEditor.resizeContents() ir ContentsResizeParameters.
  • Atitikties patvirtinimo: Patvirtinkite komentorių ir veiksmų taisykles pagal PDF/A standartus naudojant AnnotationRules ir ActionRules.

Dokumentų saugumo naudojimo atvejai

  • Skaitmeninti naudingi kroviniai: Naudokite AESCipher duomenų, įterptų dokumentų srautuose, skyrius šifruoti.
  • Dokumento apsauga: Naudokite saugumo nustatymus, kad atitikties darbo srautuose būtų galima kontroliuoti prieigą.
  • Vatermerking: Artifact objektų, kurie yra vatermarkai ir puslapio dekoracijos, aptikimas ir valdymas.
  • Archivavimo atitiktis: Pasirinkite ActionFixes ir AnnotationFixes, kad esami dokumentai atitiktų PDF/A-1b archyvines normas.

Sukurti dokumentą su widgetų aprašu

Sukurkite naują dokumentą, pridėkite puslapį ir pritvirtinkite widžeto komentarius su stiliumi.

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

Sukurti formą su radijo mygtukomis

Pridėti radijo mygtukų grupę į dokumento formą ir programiniu būdu pasirinkti vertę.

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

Dokumento puslapio matmenų patikrinimas

Prijungti esamą dokumentą ir perskaityti pirmosios puslapio žiniasklaidos dėžutės 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ų