Jak přidat anotace a formuláře do PDF v .NET

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žadavekDetail
Runtime.NET 8.0 nebo novější
Balíčekdotnet add package Aspose.Pdf.Foss
LicenceMIT — 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
AnnotationCollectionPřidávat a spravovat anotace stránky
LinkAnnotationAnotace hypertextového odkazu
TextAnnotationAnotace lepicí poznámky
FormPřístup k polím AcroForm
FieldZákladní třída pro pole formuláře
PdfAction.CreateUriVytvořit akci odkazu URI
AnnotationSelectorFiltrovat 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 nullOdkaz 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

Viz také

 Čeština