Come aggiungere annotazioni e moduli a PDF in .NET

Come aggiungere annotazioni e moduli a PDF in .NET

Come aggiungere annotazioni e moduli in .NET

Questa guida mostra come aggiungere annotazioni e campi modulo interattivi ai documenti PDF utilizzando Aspose.PDF FOSS per .NET.


Prerequisiti

RequisitoDettaglio
Runtime.NET 8.0 or later
Pacchettodotnet add package Aspose.Pdf.Foss
LicenzaMIT — nessuna chiave di licenza richiesta

Passo 1: Aggiungi un’annotazione di testo

Le annotazioni di testo appaiono come note adesive sulla pagina. Fornire un rettangolo di delimitazione, il contenuto della nota e un titolo dell’autore. Impostare open: true per visualizzare la nota espansa quando il documento si apre.

using var doc = Document.Open(File.ReadAllBytes("input.pdf"));
var page = doc.Pages[1];

page.Annotations.AddTextAnnotation(
    new Rectangle(72, 720, 200, 740),
    contents: "Review this section",
    title: "Editor",
    open: true);

doc.Save("annotated.pdf");

Passo 2: Aggiungi un’annotazione di collegamento

Le annotazioni di collegamento rendono un’area rettangolare cliccabile. Combina un Rectangle con una
PdfAction.CreateUri chiamata per navigare l’utente a un URL esterno quando viene cliccata.

var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
    new Rectangle(50, 700, 200, 720), action);

Passo 3: Aggiungi annotazioni di evidenziazione e forma

Le annotazioni di evidenziazione contrassegnano le regioni di testo con una sovrapposizione traslucida. Forma le annotazioni, come quadrati e cerchi, disegnano contorni geometrici sulla pagina. Entrambe accettano array di colori e parametri opzionali di larghezza della linea.

page.Annotations.AddHighlightAnnotation(
    new Rectangle(72, 680, 300, 700),
    quadPoints: null,
    color: new double[] { 1, 1, 0 });

page.Annotations.AddSquareAnnotation(
    new Rectangle(72, 640, 200, 680),
    borderColor: new double[] { 0, 0, 1 },
    fillColor: null,
    lineWidth: 1.5);

Passo 4: Leggi i valori dei campi del modulo

I campi AcroForm sono accessibili tramite Document.Form. Itera Form.Fields per leggere il nome e il valore corrente di ciascun campo senza modificare il documento.

using var doc = Document.Open(pdfBytes);
foreach (var field in doc.Form.Fields)
{
    Console.WriteLine($"{field.FullName}: {field.Value}");
}

Passo 5: Appiattire le annotazioni

foreach (var annot in doc.Pages[1].Annotations)
{
    annot.Flatten();
}
doc.Save("flattened.pdf");

Classi chiave

ClassScopo
AnnotationCollectionAggiungere e gestire le annotazioni della pagina
LinkAnnotationAnnotazione hyperlink
TextAnnotationAnnotazione nota adesiva
FormAccesso ai campi AcroForm
FieldClasse base per i campi modulo
PdfAction.CreateUriCreare azione di collegamento URI
AnnotationSelectorFiltrare le annotazioni per tipo

Risoluzione dei problemi

ProblemaSoluzione
Annotazione non visibileVerifica che le coordinate del rettangolo siano entro i limiti della pagina
L’URI del collegamento è nulloIl collegamento potrebbe utilizzare un’azione GoTo — controlla ActionType
Valore del campo modulo vuotoIl campo potrebbe non avere una voce /V — verifica il nome del campo

Vedi anche

 Italiano