La classe Document è il cuore di Aspose.PDF FOSS per .NET. Rappresenta un PDF completo e fornisce l’accesso a ogni struttura al suo interno — pagine, annotazioni, campi modulo, metadati e file incorporati.
Apertura dei documenti
Carica un PDF da un file, un array di byte o un flusso:
using var doc = Document.Open(File.ReadAllBytes("input.pdf"));
Console.WriteLine($"Pages: {doc.Pages.Count}");
Le pagine usano l’indicizzazione a partire da 1: doc.Pages[1] è la prima pagina.
Creare da zero
using var doc = new Document();
var page = doc.Pages.Add();
page.Paragraphs.Add(new TextFragment("Hello, PDF!"));
doc.Save("hello.pdf");
Tabelle, riquadri flottanti, intestazioni/piè di pagina e grafici sono tutti tipi di paragrafo che il motore di layout posiziona automaticamente.
Manipolazione della pagina
Imposta la geometria della pagina, la rotazione e le bounding boxes:
var page = doc.Pages[1];
page.SetMediaBox(new Rectangle(0, 0, 612, 792));
page.SetCropBox(new Rectangle(36, 36, 576, 756));
page.SetRotation(90);
Conversione
La libreria include convertitori dedicati per diversi formati di output:
| Convertitore | Risultato |
|---|---|
PdfToHtmlConverter | HTML |
PdfToMarkdownConverter | Markdown |
PdfToSvgConverter | SVG |
PdfToTextConverter | Testo semplice |
Il rendering in immagini raster utilizza classi dispositivo (PngDevice, JpegDevice, TiffDevice, BmpDevice), ognuna delle quali accetta un Resolution in DPI.
Conformità PDF/A
Convalida e converti i documenti in PDF/A-1B, PDF/A-2B o PDF/A-3B:
var options = new PdfFormatConversionOptions(
"log.xml",
PdfFormat.PDF_A_1B,
ConvertErrorAction.Delete);
doc.Convert(options);
doc.Save("pdfa.pdf");
Iniziare
dotnet add package Aspose.Pdf.Foss
Per i dettagli completi dell’API, vedere la
Document Management developer guide
e la
Conversion and Optimization guide.