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

Aspose.PDF FOSS priekš Java

Izveidojiet un manipulējiet PDF dokumentus no Java — ar anotācijām, veidlapas laukiem, lapu manipulāciju un PDF/A atbilstību. MIT-licencēts.

Bezmaksas MIT-licencēta Java bibliotēka PDF izveidei un manipulēšanai

Aspose.PDF FOSS for Java ir MIT licences Java bibliotēka PDF dokumentu izveidei un apstrādei. Tā nodrošina visaptverošu Document klasi kā galveno piekļuves punktu, kā arī pilnīgu anotāciju, interaktīvu veidlapu lauku, lapu manipulācijas, metadatu un PDF/A atbilstības validācijas pārklājumu.

Bibliotēka nodrošina 527 klases, kas aptver pilnu PDF specifikāciju: dokumenta struktūru caur Document, Page un PageCollection; annotācijas caur Annotation hierarhiju (iekļaujot WidgetAnnotation, FreeTextAnnotation un HighlightAnnotation); interaktīvas formas ar Form, ButtonField, CheckboxField un RadioButtonField; lapas renderēšanu caur BmpDevice; un PDF/A atbilstības pārbaudi caur ActionRules un ActionFixes. Šifrēšana tiek nodrošināta caur AESCipher CBC režīmā.

Pievienojiet Aspose.PDF FOSS savam Maven projektam, izmantojot groupId org.aspose un artifactId aspose-pdf. Bibliotēkai ir vajadzīgs Java 11 vai jaunāks, un tā ir pilnīgi MIT licencēta. Lai uzzinātu par uzņēmuma funkcijām un atbalstu, skatiet Aspose.PDF for Java — Enterprise Product.

Dokumenta struktūra un lapu pārvaldība

  • Dokumenta API: Izmantojiet Document klasi, lai izveidotu jaunas PDF dokumentus. Esošos dokumentus var piekļūt, izmantojot Document(filePath) vai Document(stream) konstruktorus.
  • Lapu pārvaldība: Pievienot, piekļūt un modificēt lapas caur PageCollection. Katrs Page atklāj MediaBox, CropBox, rotāciju, resursus un satura operatorus.
  • Metadati: Lasiet un rakstiet dokumenta metadatus, izmantojot DocumentInfo un XmpMetadata.
  • PDF struktūra: Piekļūstiet apakšējām PDF objektiem caur getParser(), getCatalog() un getTrailer().
  • Iegultie faili: Pārvaldiet iegultu failu kolekcijas, izmantojot getEmbeddedFiles().

Bieži sastopami dokumentu apstrādes scenāriji

  • PDF generation: Izveidojiet dokumentus programmatiski, izveidojot Document un piepildot lapas.
  • Dokumenta analīze: Piekļūt esošām failiem, lai pārbaudītu metadatus vai uzskaitītu veidlapas laukus.
  • Lapu manipulācija: Mainīt izmēru, pagriezt vai pārkārtot lapas, izmantojot PdfFileEditor un Page API.
  • Batch workflows: Veikt konsekventas pārveides vairākos dokumentos servera pusē cauruļvados.

Anotācijas un veidlapas lauki

  • Anotāciju hierarhija: Abstraktā Annotation klase ir pamats visām anotācijām; konkrētie veidi ietver WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation un UnderlineAnnotation.
  • Interaktīvas formas: Piekļūstiet dokumenta formai caur Document.getForm(), lai uzskaitītu vai izveidotu ButtonField, CheckboxField un RadioButtonField instancēm.
  • Logdaļas izskats: Kontrolējiet vizuālās īpašības caur AppearanceCharacteristics — robežas krāsu, fonu, rotāciju un parakstus.
  • Formas rediģēšana: Izmantojiet FormEditor un FormElement augstākā līmeņa formu manipulācijai.

Dokumentu pārskatīšana un sadarbība

  • Marķēšanas anotācijas: Pievienojiet izcēluma, pasvītrojuma vai brīvā teksta anotācijas dokumentiem pārskatīšanas darba plūsmām.
  • Interaktīvas veidlapas: Izveidojiet aizpildāmus dokumentus ar radio pogām, izvēles rūtiņām un nospiešanas pogām datu ievākšanai.
  • Formas datu izguve: Nolasiet iesniegtās formas lauka vērtības servera puses cauruļvadiem.
  • Arhīvu atbilstība: Validējiet un labojiet dokumentus ilgtermiņa arhivēšanai, izmantojot ActionRules un ActionFixes.

Drošība un satura operācijas

  • AES šifrēšana: Šifrēt un atšifrēt datu baitu masīvus, izmantojot AESCipher, CBC režīmā (AESCipher.encrypt(key, data) un AESCipher.decrypt(key, data)).
  • Artefaktu pārvaldība: Identificēt un manipulēt galvenes, kājenes, ūdenszīmes un fona attēlus, izmantojot Artifact un ArtifactCollection API.
  • Satura izmēra maiņa: Pielāgojiet lapas satura izkārtojumu ar PdfFileEditor.resizeContents() un ContentsResizeParameters.
  • Atbilstības pārbaude: Validējiet anotācijas un darbības noteikumus pret PDF/A standartiem, izmantojot AnnotationRules un ActionRules.

Dokumenta drošības lietošanas gadījumi

  • Šifrēti krūvi: Izmantojiet AESCipher, lai šifrētu datu sekcijas, kas iegultas dokumenta plūsmās.
  • Dokumenta aizsardzība: Lietojiet drošības iestatījumus piekļuves kontrolei atbilstības darba plūsmās.
  • Watermarking: Noteikt un pārvaldīt Artifact objektus, kas pārstāv ūdenszīmes un lapas dekorācijas.
  • Arhīvu atbilstība: Izpildiet ActionFixes un AnnotationFixes, lai esošie dokumenti atbilstu PDF/A-1b arhīva standartiem.

Izveidot dokumentu ar logrīka anotāciju

Izveidojiet jaunu dokumentu, pievienojiet lapu un pievienojiet logrīka anotāciju ar stilizāciju.

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

Izveidot veidlapu ar radio pogām

Pievienojiet radio pogu grupu dokumenta veidlapai un izvēlieties vērtību programmatiski.

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

Pārbaudīt dokumenta lapas dimensijas

Piekļūstiet esošam dokumentam un nolasiet pirmās lapas media box dimensijas.

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

 Latviešu