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

Aspose.PDF FOSS for Java

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

Libera libreria Java con licenza MIT per la creazione e manipolazione di PDF

Aspose.PDF FOSS per Java è una libreria Java con licenza MIT per creare e gestire 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 funzionalità enterprise e supporto, vedi Aspose.PDF for Java — Enterprise Product.

Struttura del documento e gestione delle pagine

  • Document API: Utilizzare la classe Document per creare nuovi documenti PDF. I documenti esistenti possono essere accessibili tramite i costruttori Document(filePath) o Document(stream).
  • Gestione pagine: Aggiungi, accedi e modifica le pagini tramite PageCollection. Ogni Page espone MediaBox , CropBox, rotazione, risorse e operatori di contenuto.
  • ** Metadati:** Leggere e scrivere i metadani del documento tramite DocumentInfo e XmpMetadata.
  • ** Struttura PDF:** Accedere agli oggetti PDF sottostanti attraverso getParser(), getCatalog() e getTrailer().
  • ** File incorporati:** Gestione di collezioni di file incorporate con getEmbeddedFiles().

Scenari comuni di elaborazione dei documenti

  • ** Generazione PDF:** Crea documenti in modo programmatico creando un Document e riempiendo le pagine.
  • Analisi dei documenti: Accedere ai file esistenti per l’ispezione dei metadati o l"elenco dei campi del modulo.
  • ** Manipolazione della pagina:** Rimuovere, ruotare o riordinare le pagine utilizzando PdfFileEditor e l’API Page.
  • Flussi di lavoro batch: Applicare trasformazioni coerenti su più documenti in pipeline sul lato server.

Annotazioni e campi di modulo

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

Revisione e collaborazione dei documenti

  • Annotation di markup: Aggiungere annotations a carattere evidenziato, sottolineato o testo libero ai documenti per i flussi di lavoro di revisione.
  • Formulari interattivi: Crea documenti compilabili con pulsanti radio, caselle di controllo e pulsanti per la cattura dei dati.
  • Estrazione dei dati del modulo: Leggere i valori di campo del form inviato per le pipeline sul lato server.
  • ** Conformità dell’archivio:** Valida e fissa i documenti per l’archiviazione a lungo termine utilizzando ActionRules e ActionFixes.

Operazioni di sicurezza e contenuti

  • ** Crittografia AES:** Codifica e decripta array di byte dati con AESCipher utilizzando la modalità CBC (AESCipher.encrypt(key, data) e AESCipher.decrypt(key, data)).
  • Gestione degli artefatti: Identificare e manipolare intestazioni, calcoli di pagina, watermark e immagini in background tramite le API Artifact e ArtifactCollection.
  • Rimensionazione del contenuto: Riguarda la disposizione dei contenuti della pagina con PdfFileEditor.resizeContents() e ContentsResizeParameters.
  • Validazione della conformità: Validare le regole di annotazione e azione rispetto agli standard PDF/A utilizzando AnnotationRules e ActionRules.

Casi di utilizzo della sicurezza dei documenti

  • ** Carichi utili crittografati:** Utilizzare AESCipher per criptare le sezioni di dati incorporate nei flussi di documenti.
  • Protezione dei documenti: Applicare le impostazioni di sicurezza per il controllo dell’accesso nei flussi di lavoro sulla conformità.
  • Watermarking: Rileva e gestisce Artifact oggetti che rappresentano watermark e decorazioni di pagina.
  • Conformità dell’archivio: Eseguire ActionFixes e AnnotationFixes per rendere i documenti esistenti conformi agli standard di archiviazione PDF/A-1b.

Creare un documento con l’ Annotation del widget

Creare un nuovo documento, aggiungere una pagina e allegare una nota di widget con stile.

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

Crea un modulo con i pulsanti radio

Aggiungere un gruppo di pulsanti radio a una scheda documento e selezionare 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");
}

Controllare le dimensioni delle pagine del documento

Accedere a un documento esistente e leggere le dimensioni della casella dei media 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