Jak přidat anotace a formuláře do PDF v .NET
Jak přidat anotace a formuláře v .NET
Tento průvodce ukazuje, jak přidávat anotace a interaktivní formulářová pole do PDF dokumentů pomocí Aspose.PDF FOSS pro .NET.
Požadavky
| Požadavek | Detail |
|---|---|
| Runtime | .NET 8.0 nebo novější |
| Balíček | dotnet add package Aspose.Pdf.Foss |
| Licence | MIT — není vyžadován licenční klíč |
Krok 1: Přidejte textovou anotaci
Textové anotace se zobrazují jako lepicí poznámky na stránce. Poskytněte ohraničující obdélník,
obsah poznámky a název autora. Nastavte open: true tak, aby se poznámka
rozbalila při otevření dokumentu.
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");Krok 2: Přidejte odkazovou anotaci
Odkazové anotace vytvářejí klikací obdélníkovou oblast. Kombinujte Rectangle s voláním PdfAction.CreateUri pro navigaci uživatele na externí URL po kliknutí.
var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
new Rectangle(50, 700, 200, 720), action);Krok 3: Přidejte zvýrazňovací a tvarové anotace
Zvýrazňovací anotace označují textové oblasti průhledným překryvem. Tvarové anotace, jako jsou čtverce a kruhy, kreslí geometrické obrysy na stránce. Obě přijímají pole barev a volitelné parametry šířky čáry.
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);Krok 4: Načíst hodnoty formulářových polí
Pole AcroForm jsou přístupná přes Document.Form. Iterujte Form.Fields k
přečtení názvu každého pole a jeho aktuální hodnoty, aniž byste dokument upravovali.
using var doc = Document.Open(pdfBytes);
foreach (var field in doc.Form.Fields)
{
Console.WriteLine($"{field.FullName}: {field.Value}");
}Krok 5: Zploštit anotace
foreach (var annot in doc.Pages[1].Annotations)
{
annot.Flatten();
}
doc.Save("flattened.pdf");Klíčové třídy
| Třída | Účel |
|---|---|
AnnotationCollection | Přidávat a spravovat anotace stránky |
LinkAnnotation | Anotace hypertextového odkazu |
TextAnnotation | Anotace lepicí poznámky |
Form | Přístup k polím AcroForm |
Field | Základní třída pro pole formuláře |
PdfAction.CreateUri | Vytvořit akci odkazu URI |
AnnotationSelector | Filtrovat anotace podle typu |
Řešení problémů
| Problém | Řešení |
|---|---|
| Anotace není viditelná | Zkontrolujte, že souřadnice obdélníku jsou v mezích stránky |
| Odkaz URI je null | Odkaz může používat akci GoTo — zkontrolujte ActionType |
| Hodnota pole formuláře je prázdná | Pole může nemít záznam /V — ověřte název pole |