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

Aspose.PDF FOSS per Java

Crea e manipola documenti PDF da Java — con annotazioni, campi modulo, manipolazione delle pagine e conformità PDF/A. Con licenza MIT.

Libreria Java gratuita con licenza MIT per la creazione e manipolazione di PDF

Aspose.PDF FOSS per Java è una libreria Java con licenza MIT per la creazione e la gestione di documenti PDF. Fornisce una classe Document completa come punto di ingresso centrale, insieme a una copertura completa di annotazioni, campi modulo interattivi, manipolazione delle pagine, metadati e convalida della conformità PDF/A.

La libreria espone 527 classi che coprono l’intera specifica PDF: struttura del documento tramite Document, Page e PageCollection; annotazioni attraverso la gerarchia Annotation (inclusi WidgetAnnotation, FreeTextAnnotation e HighlightAnnotation); moduli interattivi con Form, ButtonField, CheckboxField e RadioButtonField; rendering delle pagine tramite BmpDevice; e verifica della conformità PDF/A tramite ActionRules e ActionFixes. La crittografia è fornita tramite AESCipher in modalità CBC.

Aggiungi Aspose.PDF FOSS al tuo progetto Maven usando groupId org.aspose e artifactId aspose-pdf. La libreria richiede Java 11 o versioni successive ed è interamente con licenza MIT. Per le funzionalità enterprise e il supporto, vedi Aspose.PDF for Java — Enterprise Product.

Struttura del documento e gestione delle pagine

  • Document API: Usa la classe Document per creare nuovi documenti PDF. I documenti esistenti possono essere accessi tramite i costruttori Document(filePath) o Document(stream).
  • Gestione delle pagine: Aggiungi, accedi e modifica le pagine tramite PageCollection. Ogni Page espone MediaBox, CropBox, rotazione, risorse e operatori di contenuto.
  • Metadata: Leggi e scrivi i metadati del documento tramite DocumentInfo e XmpMetadata.
  • Struttura PDF: Accedi agli oggetti PDF sottostanti tramite getParser(), getCatalog() e getTrailer().
  • File incorporati: Gestisci le collezioni di file incorporati con getEmbeddedFiles().

Scenari Comuni di Elaborazione dei Documenti

  • PDF generation: Crea documenti programmaticamente creando un Document e popolando le pagine.
  • Analisi del documento: Accedi ai file esistenti per l’ispezione dei metadati o l’enumerazione dei campi del modulo.
  • Manipolazione delle pagine: Ridimensiona, ruota o riordina le pagine usando PdfFileEditor e l’API Page.
  • Batch workflows: Applica trasformazioni coerenti su più documenti nei pipeline lato server.

Annotazioni e campi modulo

  • Gerarchia delle annotazioni: La classe astratta Annotation è la base per tutte le annotazioni; i tipi concreti includono WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation e UnderlineAnnotation.
  • Moduli interattivi: Accedi al modulo del documento tramite Document.getForm() per elencare o creare istanze di ButtonField, CheckboxField e RadioButtonField.
  • Aspetto del widget: Controlla le proprietà visive tramite AppearanceCharacteristics — colore del bordo, sfondo, rotazione e didascalie.
  • Modifica del modulo: Usa FormEditor e FormElement per la manipolazione del modulo a livello superiore.

Revisione dei Documenti e Collaborazione

  • Markup annotations: Aggiungi annotazioni di evidenziazione, sottolineatura o testo libero ai documenti per i flussi di lavoro di revisione.
  • Moduli interattivi: Crea documenti compilabili con pulsanti radio, caselle di controllo e pulsanti di invio per la raccolta dei dati.
  • Estrazione dei dati del modulo: Leggi i valori dei campi del modulo inviati per le pipeline lato server.
  • Conformità archivistica: Convalida e correggi i documenti per l’archiviazione a lungo termine utilizzando ActionRules e ActionFixes.

Sicurezza e Operazioni dei Contenuti

  • Crittografia AES: Cifra e decifra array di byte di dati con AESCipher usando la modalità CBC (AESCipher.encrypt(key, data) e AESCipher.decrypt(key, data)).
  • Gestione degli artefatti: Identificare e manipolare intestazioni, piè di pagina, filigrane e immagini di sfondo tramite le API Artifact e ArtifactCollection.
  • Ridimensionamento del contenuto: Regola il layout del contenuto della pagina con PdfFileEditor.resizeContents() e ContentsResizeParameters.
  • Convalida della conformità: Convalida le regole di annotazione e azione rispetto agli standard PDF/A utilizzando AnnotationRules e ActionRules.

Casi d'uso per la sicurezza dei documenti

  • Payload crittografati: Usa AESCipher per crittografare le sezioni di dati incorporate nei flussi del documento.
  • Document protection: Applica le impostazioni di sicurezza per il controllo degli accessi nei flussi di lavoro di conformità.
  • Watermarking: Rileva e gestisci gli oggetti Artifact che rappresentano filigrane e decorazioni di pagina.
  • Conformità di archiviazione: Esegui ActionFixes e AnnotationFixes per far sì che i documenti esistenti soddisfino gli standard di archiviazione PDF/A-1b.

Crea un documento con annotazione Widget

Crea un nuovo documento, aggiungi una pagina e allega un’annotazione widget con stile.

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

Crea un modulo con pulsanti radio

Aggiungi un gruppo di pulsanti radio a un modulo di documento e seleziona un valore programmaticamente.

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

Ispeziona le dimensioni della pagina del documento

Accedi a un documento esistente e leggi le dimensioni della media box della prima pagina.

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

Risorse di Supporto e Apprendimento

 Italiano