Hoe annotaties en formulieren toe te voegen aan PDF in .NET

Hoe annotaties en formulieren toe te voegen aan PDF in .NET

Hoe annotaties en formulieren toe te voegen in .NET

Deze gids laat zien hoe u annotaties en interactieve formuliervelden kunt toevoegen aan PDF‑documenten met Aspose.PDF FOSS voor .NET.


Voorvereisten

VereisteDetail
Runtime.NET 8.0 of later
Pakketdotnet add package Aspose.Pdf.Foss
LicentieMIT — geen licentiesleutel vereist

Stap 1: Voeg een tekstannotatie toe

Tekstannotaties verschijnen als plaknotities op de pagina. Geef een begrenzende rechthoek, de notitie‑inhoud, en een auteurstitel. Stel open: true in om de notitie uitgebreid weer te geven wanneer het document wordt geopend.

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

Stap 2: Voeg een linkannotatie toe

Linkannotaties maken een rechthoekig gebied klikbaar. Combineer een Rectangle met een PdfAction.CreateUri‑aanroep om de gebruiker bij klikken naar een externe URL te navigeren.

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

Stap 3: Voeg markeer- en vormannotaties toe

Highlight‑annotaties markeren tekstgebieden met een doorschijnende overlay. Vorm‑annotaties zoals vierkanten en cirkels tekenen geometrische contouren op de pagina. Beide accepteren kleurarrays en optionele lijndikte‑parameters.

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

Stap 4: Lees de waarden van formuliervelden

AcroForm-velden worden benaderd via Document.Form. Doorloop Form.Fields om de naam en huidige waarde van elk veld te lezen zonder het document te wijzigen.

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

Stap 5: Annotaties samenvoegen

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

Belangrijke klassen

KlasseDoel
AnnotationCollectionPagina‑annotaties toevoegen en beheren
LinkAnnotationHyperlink‑annotatie
TextAnnotationSticky‑note‑annotatie
FormAcroForm‑veldtoegang
FieldBasisklasse voor formuliervelden
PdfAction.CreateUriURI‑koppelingsactie maken
AnnotationSelectorAnnotaties filteren op type

Probleemoplossing

ProbleemOplossing
Annotatie niet zichtbaarControleer of de rechthoekcoördinaten binnen de paginagrenzen liggen
Link-URI is nullDe link kan een GoTo-actie gebruiken — controleer ActionType
Formulierveldwaarde leegHet veld heeft mogelijk geen /V-invoer — controleer de veldnaam

Zie ook

 Nederlands