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
| Vereiste | Detail |
|---|---|
| Runtime | .NET 8.0 of later |
| Pakket | dotnet add package Aspose.Pdf.Foss |
| Licentie | MIT — 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
| Klasse | Doel |
|---|---|
AnnotationCollection | Pagina‑annotaties toevoegen en beheren |
LinkAnnotation | Hyperlink‑annotatie |
TextAnnotation | Sticky‑note‑annotatie |
Form | AcroForm‑veldtoegang |
Field | Basisklasse voor formuliervelden |
PdfAction.CreateUri | URI‑koppelingsactie maken |
AnnotationSelector | Annotaties filteren op type |
Probleemoplossing
| Probleem | Oplossing |
|---|---|
| Annotatie niet zichtbaar | Controleer of de rechthoekcoördinaten binnen de paginagrenzen liggen |
| Link-URI is null | De link kan een GoTo-actie gebruiken — controleer ActionType |
| Formulierveldwaarde leeg | Het veld heeft mogelijk geen /V-invoer — controleer de veldnaam |