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

Aspose.PDF FOSS for .NET

Crea e manipola documenti PDF da .NET — con annotazioni, campi modulo, estrazione del testo, gestione delle pagine, crittografia e importazione HTML/SVG/Markdown. Con licenza MIT.

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

Aspose.PDF FOSS per .NET è una libreria con licenza MIT per creare e lavorare con documenti PDF in C# e .NET. Il punto di ingresso centrale è la classe Document, che supporta la costruzione da percorso file, array di byte, stream o fonti protette da password, e espone le operazioni Open, Save, Merge, Encrypt, Decrypt e Convert su tutta la specifica PDF.

La libreria espone 805 classi che coprono la struttura del documento tramite Document, Page e PageCollection; annotazioni ricche tramite AnnotationCollection (inclusi AddTextAnnotation, AddLinkAnnotation, AddHighlightAnnotation, AddWatermarkAnnotation e AddRedactAnnotation); moduli interattivi con Form, ButtonField, CheckboxField, RadioButtonField e ChoiceField; estrazione del testo e ricerca tramite TextFragmentAbsorber e TextFragment; rilevamento delle tabelle con AbsorbedTable, AbsorbedRow e AbsorbedCell; e sicurezza del documento tramite Document.Encrypt e Document.Decrypt. La conversione di formato supporta HTML, SVG e l’importazione di Markdown insieme all’esportazione PDF.

Installa Aspose.PDF FOSS per .NET da NuGet: dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha. La libreria è interamente con licenza MIT, senza costi di runtime o restrizioni d’uso. Per le funzionalità enterprise e il supporto, vedi Aspose.PDF for .NET — Enterprise Product.

Struttura del documento e gestione delle pagine

  • Document API: Crea nuovi PDF con Document() o apri file esistenti tramite Document.Open(path), Document.Open(data) o Document.Open(stream).
  • Gestione delle pagine: Aggiungi, accedi e riordina le pagine tramite PageCollection. Ogni Page espone Width, Height, MediaBox, rotazione e Annotations.
  • Unisci e dividi: Combina più file con Document.Merge(documents) o Document.MergeDocuments(files). Importa pagine specifiche con Document.ImportPage e Document.ImportPages.
  • Metadati: Leggi e scrivi i metadati del documento tramite DocumentInfo e Document.GetOrCreateMetadata().
  • Serializzazione: Conserva i documenti con Document.Save(filename), Document.Save(stream, format) o Document.ToArray().

Scenari comuni di elaborazione dei documenti

  • Generazione PDF: Crea documenti programmaticamente creando un’istanza Document e popolando le pagine con contenuto.
  • Analisi del documento: Apri file esistenti per l’ispezione dei metadati, la misurazione delle dimensioni della pagina o l’enumerazione dei campi del modulo.
  • Manipolazione delle pagine: Ridimensiona, ruota o riordina le pagine usando Document.ImportPage e l’API Page.
  • Batch merging: Assembla le sezioni del report o le pagine della fattura in un unico PDF usando Document.MergeDocuments.

Annotazioni e campi modulo

  • Rich annotation API: AnnotationCollection espone metodi per le annotazioni di testo, link, evidenziazione, sottolineatura, barrato, quadrato, cerchio, linea, inchiostro, timbro, cursore, redazione, filigrana, poligono e polilinea.
  • Azioni di collegamento: Aggiungi collegamenti URI con AddLinkAnnotation(rect, uri) o collegamenti interni di salto pagina con AddLinkAnnotation(rect, destinationPage, destRect).
  • Moduli interattivi: Accedi al modulo del documento tramite Document.Form per elencare o creare istanze di ButtonField, CheckboxField, RadioButtonField e ChoiceField.
  • Selezione delle annotazioni: Filtra le annotazioni per tipo tra le pagine usando AnnotationSelector con sovraccarichi Visit per tipo.
  • Annotation flags: Controlla la visibilità, la stampa e il comportamento di blocco tramite AnnotationFlags.

Scenari di revisione dei documenti e collaborazione

  • Revisione markup: Aggiungi evidenziazioni, sottolineature o annotazioni di testo libero per i flussi di lavoro di revisione dei documenti.
  • Redazione: Rimuovere permanentemente le regioni di contenuto sensibile usando AddRedactAnnotation.
  • Watermarking: Stampa il testo CONFIDENTIAL o APPROVED sulle pagine con AddWatermarkAnnotation e AddStampAnnotation.
  • Moduli interattivi: Crea documenti compilabili con pulsanti radio, caselle di controllo e elenchi a scelta per pipeline di acquisizione dati.

Estrazione del testo e ricerca

  • Ricerca del testo: Usa TextFragmentAbsorber per individuare tutti i frammenti di testo su una pagina o in tutto un documento, con corrispondenza opzionale di frasi.
  • Proprietà del frammento: Ogni TextFragment espone Text, Position, TextState (font, size, colour), e il rettangolo di delimitazione.
  • Controllo dello stato del testo: TextFragmentState fornisce l’accesso a Font, FontSize, ForegroundColor, BackgroundColor, e alla modalità di rendering.
  • Rilevamento delle tabelle: Identificare ed estrarre il contenuto tabellare tramite AbsorbedTable, AbsorbedRow e AbsorbedCell, ognuno dei quali fornisce Rect e TextFragments.

Scenari di estrazione di testo e dati

  • Indicizzazione del contenuto: Estrai tutto il testo della pagina per le pipeline di ricerca full-text.
  • Estrazione dei dati del modulo: Leggi i valori dei campi inviati per l’elaborazione lato server.
  • Parsing delle fatture: Usa AbsorbedTable per analizzare i dati tabulari a riga e colonna dai PDF finanziari.
  • Confronto Redline: Individua frammenti di testo specifici per annotazioni o sostituzioni precise basate sulla posizione.

Sicurezza e crittografia

  • Crittografia AES e RC4: Cripta i documenti con Document.Encrypt(userPassword, ownerPassword, permissions, algorithm) usando Algorithm.AESx128, AESx256 o RC4x128.
  • Controllo delle autorizzazioni: Limita stampa, copia e accessibilità tramite DocumentPrivilege.
  • Gestione delle password: Cambia le password utente e proprietario con Document.ChangePasswords.
  • Decrittazione: Rimuovere la protezione con Document.Decrypt().
  • Firme digitali: Accedi ai campi firma e ai dati PKCS#7 tramite i tipi Signature e Algorithm.

Scenari di sicurezza dei documenti

  • Distribuzione riservata: Cifra i PDF con password per destinatario prima della consegna.
  • Contratti solo stampa: Applica password proprietarie con stampa sola DocumentPrivilege per impedire la copia.
  • Archiviazione conforme: Rimuovere la crittografia dagli archivi interni dopo la revisione della sicurezza.
  • Verifica della firma: Ispeziona le firme digitali incorporate nei PDF ricevuti per verificare l’autenticità.

Apri un PDF, aggiungi una Link Annotation e salva

Apri un PDF esistente, aggiungi un’annotazione di collegamento URI alla pagina 1 e salva il risultato.

using Aspose.Pdf;

var data = System.IO.File.ReadAllBytes("input.pdf");
using var doc = Document.Open(data);
var page = doc.Pages[1];
var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
    new Rectangle(50, 700, 200, 720), action);
using var ms = new System.IO.MemoryStream();
doc.Save(ms);
System.IO.File.WriteAllBytes("output.pdf", ms.ToArray());

Aggiungi una Watermark Annotation

Apponi una filigrana sulla pagina 1 di un documento esistente e fai un round‑trip attraverso la serializzazione.

using Aspose.Pdf;
var input = System.IO.File.ReadAllBytes("report.pdf");
using var doc = Document.Open(input);
doc.Pages[1].Annotations.AddWatermarkAnnotation(
    new Rectangle(0, 0, 612, 792), "CONFIDENTIAL");
var saved = doc.ToArray();
System.IO.File.WriteAllBytes("watermarked.pdf", saved);

Estrai frammenti di testo da una pagina

Usa TextFragmentAbsorber per enumerare tutti i frammenti di testo nella prima pagina.

using Aspose.Pdf;
using Aspose.Pdf.Text;

var data = System.IO.File.ReadAllBytes("document.pdf");
using var doc = Document.Open(data);
var absorber = new TextFragmentAbsorber();
absorber.Visit(doc.Pages[1]);
foreach (var fragment in absorber.TextFragments)
{
    Console.WriteLine(fragment.Text);
}

Domande Frequenti

Qual è il modello di licenza per Aspose.PDF FOSS per .NET?

Aspose.PDF FOSS per .NET è rilasciato sotto la Licenza MIT, consentendo l’uso gratuito in prodotti commerciali senza costi di runtime. Il codice sorgente è pubblicamente disponibile su GitHub.

Come installo Aspose.PDF FOSS per .NET?

Installa da NuGet usando dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha. La libreria è destinata a .NET 8 e versioni successive senza dipendenze native.

Quali formati di file supporta Aspose.PDF FOSS per .NET?

La libreria legge e scrive PDF e supporta l’importazione di HTML, SVG e Markdown. È disponibile anche l’esportazione raster — le pagine PDF possono essere renderizzate in BMP, JPEG, PNG e TIFF.

Come creo un nuovo documento PDF?

Usa Document.Create() per creare un documento vuoto, quindi aggiungi pagine e salva con Document.Save(stream) o Document.ToArray().

È necessaria una chiave di licenza per utilizzare Aspose.PDF FOSS per .NET?

Non è necessaria alcuna chiave di licenza o passaggio di attivazione. La libreria funziona completamente senza licenza a costo zero sotto la Licenza MIT.

  

Risorse di Supporto e Apprendimento

 Italiano