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

Aspose.PDF FOSS pentru Java

Creează și manipulează documente PDF din Java — cu adnotări, câmpuri de formular, manipulare de pagini și conformitate PDF/A. Licențiat MIT.

Bibliotecă Java gratuită licențiată MIT pentru crearea și manipularea PDF-urilor

Aspose.PDF FOSS pentru Java este o bibliotecă Java licențiată MIT pentru crearea și lucrul cu documente PDF. Aceasta oferă o clasă Document cuprinzătoare ca punct central de intrare, împreună cu acoperire completă a adnotărilor, câmpurilor de formular interactive, manipulării paginilor, metadatelor și validării conformității PDF/A.

Biblioteca expune 527 de clase care acoperă specificația completă PDF: structura documentului prin Document, Page și PageCollection; adnotări prin ierarhia Annotation (inclusiv WidgetAnnotation, FreeTextAnnotation și HighlightAnnotation); formulare interactive cu Form, ButtonField, CheckboxField și RadioButtonField; redarea paginilor prin BmpDevice; și verificarea conformității PDF/A prin ActionRules și ActionFixes. Criptarea este furnizată prin AESCipher în modul CBC.

Adăugați Aspose.PDF FOSS la proiectul dvs. Maven utilizând groupId org.aspose și artifactId aspose-pdf. Biblioteca necesită Java 11 sau o versiune ulterioară și este complet licențiată sub MIT. Pentru funcționalități enterprise și suport, consultați Aspose.PDF for Java — Enterprise Product.

Structura documentului și gestionarea paginilor

  • Document API: Utilizați clasa Document pentru a crea documente PDF noi. Documentele existente pot fi accesate prin constructorii Document(filePath) sau Document(stream).
  • Gestionarea paginilor: Adăugați, accesați și modificați paginile prin PageCollection. Fiecare Page expune MediaBox, CropBox, rotație, resurse și operatori de conținut.
  • Metadata: Citiți și scrieți metadatele documentului prin DocumentInfo și XmpMetadata.
  • Structura PDF: Accesați obiectele PDF subiacente prin getParser(), getCatalog() și getTrailer().
  • Fișiere încorporate: Gestionați colecțiile de fișiere încorporate cu getEmbeddedFiles().

Scenarii comune de procesare a documentelor

  • Generare PDF: Creați documente programatic prin crearea unui Document și popularea paginilor.
  • Analiza documentului: Accesați fișierele existente pentru inspecția metadatelor sau enumerarea câmpurilor de formular.
  • Manipulare pagini: Redimensionați, rotiți sau reordonați paginile utilizând PdfFileEditor și API-ul Page.
  • Fluxuri de lucru în lot: Aplicați transformări coerente pe mai multe documente în conducte pe partea serverului.

Adnotări și câmpuri de formular

  • Ierarhia de adnotări: Clasa abstractă Annotation este baza pentru toate adnotările; tipurile concrete includ WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation și UnderlineAnnotation.
  • Formulare interactive: Accesați formularul documentului prin Document.getForm() pentru a enumera sau crea instanțe ButtonField, CheckboxField și RadioButtonField.
  • Aspectul widget-ului: Controlează proprietățile vizuale prin AppearanceCharacteristics — culoarea bordurii, fundalul, rotația și descrierile.
  • Editarea formularului: Utilizați FormEditor și FormElement pentru manipularea formularului la nivel superior.

Revizuirea documentelor și colaborare

  • Adnotări de marcare: Adăugați evidențieri, subliniere sau adnotări de tip text liber la documente pentru fluxuri de lucru de revizuire.
  • Formulare interactive: Creați documente completabile cu butoane radio, casete de selectare și butoane push pentru capturarea datelor.
  • Extracție de date din formular: Citește valorile câmpurilor de formular trimise pentru conducte pe partea serverului.
  • Conformitate arhivistică: Validați și reparați documentele pentru arhivare pe termen lung utilizând ActionRules și ActionFixes.

Securitate și operațiuni de conținut

  • AES encryption: Criptați și decriptați tablouri de octeți de date cu AESCipher utilizând modul CBC (AESCipher.encrypt(key, data) și AESCipher.decrypt(key, data)).
  • Gestionarea artefactelor: Identificați și manipulați anteturile, subsolurile, filigranele și imaginile de fundal prin API-urile Artifact și ArtifactCollection.
  • Redimensionare conținut: Ajustați aspectul conținutului paginii cu PdfFileEditor.resizeContents() și ContentsResizeParameters.
  • Validare conformitate: Validați regulile de adnotare și acțiune în conformitate cu standardele PDF/A utilizând AnnotationRules și ActionRules.

Cazuri de utilizare ale securității documentelor

  • Încărcături criptate: Utilizați AESCipher pentru a cripta secțiunile de date încorporate în fluxurile de documente.
  • Protecția documentului: Aplicați setările de securitate pentru controlul accesului în fluxurile de lucru de conformitate.
  • Watermarking: Detectați și gestionați obiectele Artifact care reprezintă filigrane și decorațiuni de pagină.
  • Conformitate arhivistică: Rulați ActionFixes și AnnotationFixes pentru a face documentele existente să respecte standardele de arhivare PDF/A-1b.

Creează un document cu adnotare widget

Creează un document nou, adaugă o pagină și atașează o adnotare widget cu stilizare.

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

Creează un formular cu butoane radio

Adăugați un grup de butoane radio la un formular de document și selectați o valoare programatic.

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

Inspectează dimensiunile paginii documentului

Accesați un document existent și citiți dimensiunile casetei media ale primei pagini.

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

 Română