Wie man Anmerkungen und Formulare zu PDF in .NET hinzufügt
Wie man Anmerkungen und Formulare in .NET hinzufügt
Dieses Handbuch zeigt, wie man Anmerkungen und interaktive Formularfelder zu PDF‑Dokumenten mit Aspose.PDF FOSS für .NET hinzufügt.
Voraussetzungen
| Anforderung | Detail |
|---|---|
| Laufzeit | .NET 8.0 oder neuer |
| Paket | dotnet add package Aspose.Pdf.Foss |
| Lizenz | MIT — kein Lizenzschlüssel erforderlich |
Schritt 1: Textanmerkung hinzufügen
Textanmerkungen erscheinen als Haftnotizen auf der Seite. Geben Sie ein Begrenzungsrechteck, den Notizinhalt und einen Autorentitel an. Setzen Sie open: true, um die Notiz beim Öffnen des Dokuments erweitert anzuzeigen.
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");Schritt 2: Link-Annotation hinzufügen
Link‑Anmerkungen machen einen rechteckigen Bereich anklickbar. Kombinieren Sie ein Rectangle mit einem PdfAction.CreateUri Aufruf, um den Benutzer beim Klicken zu einer externen URL zu navigieren.
var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
new Rectangle(50, 700, 200, 720), action);Schritt 3: Hervorhebungs‑ und Formanmerkungen hinzufügen
Highlight‑Anmerkungen markieren Textbereiche mit einer halbtransparenten Überlagerung. Shape‑Anmerkungen wie Quadrate und Kreise zeichnen geometrische Umrisse auf der Seite. Beide akzeptieren Farbarrays und optionale Linienbreiten‑Parameter.
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);Schritt 4: Formularfeldwerte lesen
Auf AcroForm‑Felder wird über Document.Form zugegriffen. Durchlaufen Sie Form.Fields, um den Namen und den aktuellen Wert jedes Feldes zu lesen, ohne das Dokument zu ändern.
using var doc = Document.Open(pdfBytes);
foreach (var field in doc.Form.Fields)
{
Console.WriteLine($"{field.FullName}: {field.Value}");
}Schritt 5: Anmerkungen flachlegen
foreach (var annot in doc.Pages[1].Annotations)
{
annot.Flatten();
}
doc.Save("flattened.pdf");Schlüsselklassen
| Klasse | Zweck |
|---|---|
AnnotationCollection | Seitenanmerkungen hinzufügen und verwalten |
LinkAnnotation | Hyperlink-Anmerkung |
TextAnnotation | Haftnotiz-Anmerkung |
Form | Zugriff auf AcroForm-Felder |
Field | Basisklasse für Formularfelder |
PdfAction.CreateUri | URI-Link-Aktion erstellen |
AnnotationSelector | Anmerkungen nach Typ filtern |
Fehlerbehebung
| Problem | Lösung |
|---|---|
| Annotation not visible | Überprüfen Sie, ob die Rechteckkoordinaten innerhalb der Seitenränder liegen |
| Link URI is null | Der Link könnte eine GoTo action — prüfen Sie ActionType |
| Form field value empty | Das Feld hat möglicherweise keinen /V‑Eintrag — überprüfen Sie den Feldnamen |