Kako dodati anotacije i obrasce u PDF u .NET
Kako dodati anotacije i obrasce u .NET
Ovaj vodič pokazuje kako dodati anotacije i interaktivna polja obrasca u PDF dokumente koristeći Aspose.PDF FOSS za .NET.
Preduslovi
| Zahtev | Detalj |
|---|---|
| Runtime | .NET 8.0 ili noviji |
| Package | dotnet add package Aspose.Pdf.Foss |
| License | MIT — nije potreban licencni ključ |
Korak 1: Dodajte tekstualnu napomenu
Tekstualne anotacije se pojavljuju kao lepljive beleške na stranici. Dostavite ograničavajući pravougaonik, sadržaj beleške i naslov autora. Postavite open: true da prikaže belešku proširenu kada se dokument otvori.
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");Korak 2: Dodajte link anotaciju
Link anotacije čine pravougaono područje klikabilnim. Kombinujte Rectangle sa PdfAction.CreateUri pozivom da biste navigirali korisnika na eksternu URL adresu kada se klikne.
var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
new Rectangle(50, 700, 200, 720), action);Korak 3: Dodajte istaknute i oblikovne anotacije
Highlight anotacije označavaju tekstualne regione prozirnim preklopom. Shape anotacije poput kvadrata i krugova crtaju geometrijske obrise na stranici. Obe prihvataju nizove boja i opcione parametre debljine linije.
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);Korak 4: Čitanje vrednosti polja obrasca
AcroForm polja se pristupa putem Document.Form. Prođite kroz Form.Fields da biste pročitali ime svakog polja i njegovu trenutnu vrednost bez izmene dokumenta.
using var doc = Document.Open(pdfBytes);
foreach (var field in doc.Form.Fields)
{
Console.WriteLine($"{field.FullName}: {field.Value}");
}Korak 5: Izravnajte anotacije
foreach (var annot in doc.Pages[1].Annotations)
{
annot.Flatten();
}
doc.Save("flattened.pdf");Ključne klase
| Class | Purpose |
|---|---|
AnnotationCollection | Dodavanje i upravljanje anotacijama stranice |
LinkAnnotation | Anotacija hiperveze |
TextAnnotation | Anotacija lepljive beleške |
Form | Pristup AcroForm polju |
Field | Osnovna klasa za polja obrasca |
PdfAction.CreateUri | Kreiranje URI akcije linka |
AnnotationSelector | Filtriranje anotacija po tipu |
Otklanjanje problema
| Problem | Solution |
|---|---|
| Anotacija nije vidljiva | Proverite da su koordinate pravougaonika unutar granica stranice |
| Link URI je null | Link može koristiti GoTo akciju — proverite ActionType |
| Vrednost polja obrasca je prazna | Polje možda nema /V unos — proverite naziv polja |