Hvordan legge til merknader og skjemaer i PDF i .NET

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

RequirementDetail
Runtime.NET 8.0 eller senere
Packagedotnet add package Aspose.Pdf.Foss
LicenseMIT — 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

KlasseFormål
AnnotationCollectionLegg til og administrer sideannotasjoner
LinkAnnotationHyperlenke-annotasjon
TextAnnotationKlistrelapp-annotasjon
FormAcroForm-felt tilgang
FieldBaseklasse for skjemafelter
PdfAction.CreateUriOpprett URI-lenkehandling
AnnotationSelectorFiltrer annotasjoner etter type

Feilsøking

ProblemLøsning
Annotering er ikke synligKontroller at rektangelkoordinatene er innenfor sidens grenser
Link-URI er nullLenken kan bruke en GoTo-handling — sjekk ActionType
Skjemafeltverdi er tomFeltet har kanskje ikke en /V-oppføring — verifiser feltnavnet

Se også

 Norsk