Hvordan legge til merknader og skjemaer i PDF i .NET
Hvordan legge til merknader og skjemaer i .NET
Denne guiden viser hvordan du legger til annotasjoner og interaktive skjemafelter i PDF-dokumenter ved hjelp av Aspose.PDF FOSS for .NET.
Forutsetninger
| Requirement | Detail |
|---|---|
| Runtime | .NET 8.0 eller senere |
| Package | dotnet add package Aspose.Pdf.Foss |
| License | MIT — ingen lisensnøkkel kreves |
Trinn 1: Legg til en tekstmerking
Tekstmerknader vises som klistrelapper på siden. Angi et avgrensningsrektangel, notatinnholdet og en forfattertittel. Sett open: true for å vise notatet utvidet når dokumentet åpnes.
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");Steg 2: Legg til en lenkeannotasjon
Link‑annotasjoner gjør et rektangulært område klikkbart. Kombiner en Rectangle med et PdfAction.CreateUri‑kall for å navigere brukeren til en ekstern URL når den klikkes.
var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
new Rectangle(50, 700, 200, 720), action);Steg 3: Legg til utheving- og form-annotasjoner
Highlight‑annotasjoner markerer tekstområder med et gjennomsiktig overlegg. Form‑annotasjoner som firkanter og sirkler tegner geometriske konturer på siden. Begge aksepterer fargearrayer og valgfrie linjebredde‑parametere.
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);Steg 4: Les verdier fra skjemafelter
AcroForm-felt får tilgang via Document.Form. Iterer Form.Fields for å lese hvert felts navn og nåværende verdi uten å endre dokumentet.
using var doc = Document.Open(pdfBytes);
foreach (var field in doc.Form.Fields)
{
Console.WriteLine($"{field.FullName}: {field.Value}");
}Steg 5: Flatt ut annotasjoner
foreach (var annot in doc.Pages[1].Annotations)
{
annot.Flatten();
}
doc.Save("flattened.pdf");Nøkkelklasser
| Klasse | Formål |
|---|---|
AnnotationCollection | Legg til og administrer sideannotasjoner |
LinkAnnotation | Hyperlenke-annotasjon |
TextAnnotation | Klistrelapp-annotasjon |
Form | AcroForm-felt tilgang |
Field | Baseklasse for skjemafelter |
PdfAction.CreateUri | Opprett URI-lenkehandling |
AnnotationSelector | Filtrer annotasjoner etter type |
Feilsøking
| Problem | Løsning |
|---|---|
| Annotering er ikke synlig | Kontroller at rektangelkoordinatene er innenfor sidens grenser |
| Link-URI er null | Lenken kan bruke en GoTo-handling — sjekk ActionType |
| Skjemafeltverdi er tom | Feltet har kanskje ikke en /V-oppføring — verifiser feltnavnet |