Cum să adăugați adnotări și formulare în PDF în .NET

Cum să adăugați adnotări și formulare în PDF în .NET

Cum să adăugați adnotări și formulare în .NET

Acest ghid arată cum să adăugați adnotări și câmpuri de formular interactive în documente PDF utilizând Aspose.PDF FOSS pentru .NET.


Cerințe preliminare

CerințăDetaliu
Runtime.NET 8.0 sau ulterior
Pachetdotnet add package Aspose.Pdf.Foss
LicențăMIT — nu este necesară nicio cheie de licență

Pasul 1: Adăugați o adnotare text

Anotările de text apar ca note adezive pe pagină. Furnizaţi un dreptunghi de delimitare, conţinutul notei şi un titlu de autor. Setaţi open: true pentru a afişa nota extinsă când documentul se deschide.

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

Pasul 2: Adăugați o adnotare de link

Adnotările de tip link fac ca o zonă rectangulară să fie clicabilă. Combinaţi un Rectangle cu un apel PdfAction.CreateUri pentru a naviga utilizatorul către un URL extern când se face click.

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

Pasul 3: Adăugați adnotări de evidențiere și forme

Anotările de evidențiere marchează regiunile de text cu un strat translucid. Anotările de formă, cum ar fi pătratele și cercurile, desenează contururi geometrice pe pagină. Ambele acceptă matrici de culori și parametri opționali pentru lățimea liniei.

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

Pasul 4: Citește valorile câmpurilor de formular

Câmpurile AcroForm sunt accesate prin Document.Form. Iterați Form.Fields pentru a citi numele fiecărui câmp și valoarea curentă fără a modifica documentul.

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

Pasul 5: Aplatizează adnotările

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

Clase cheie

ClassScop
AnnotationCollectionAdăugați și gestionați adnotările paginii
LinkAnnotationAdnotare hyperlink
TextAnnotationAdnotare notă adezivă
FormAcces la câmpul AcroForm
FieldClasă de bază pentru câmpurile de formular
PdfAction.CreateUriCreați acțiune de link URI
AnnotationSelectorFiltrați adnotările după tip

Depanare

ProblemăSoluție
Anotarea nu este vizibilăVerificați că coordonatele dreptunghiului sunt în limitele paginii
URI-ul linkului este nulLinkul poate folosi o acțiune GoTo — verificați ActionType
Valoarea câmpului de formular este goalăCâmpul poate să nu aibă o intrare /V — verificați numele câmpului

Vezi și

 Română