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 |
| Pachet | dotnet 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
| Class | Scop |
|---|---|
AnnotationCollection | Adăugați și gestionați adnotările paginii |
LinkAnnotation | Adnotare hyperlink |
TextAnnotation | Adnotare notă adezivă |
Form | Acces la câmpul AcroForm |
Field | Clasă de bază pentru câmpurile de formular |
PdfAction.CreateUri | Creați acțiune de link URI |
AnnotationSelector | Filtraț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 nul | Linkul 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 |