Jak dodać adnotacje i formularze do PDF w .NET

Jak dodać adnotacje i formularze do PDF w .NET

Jak dodać adnotacje i formularze w .NET

Ten przewodnik pokazuje, jak dodać adnotacje i interaktywne pola formularza do dokumentów PDF przy użyciu Aspose.PDF FOSS dla .NET.


Wymagania wstępne

WymaganieSzczegóły
Środowisko uruchomieniowe.NET 8.0 lub nowszy
Pakietdotnet add package Aspose.Pdf.Foss
LicencjaMIT — nie wymaga klucza licencyjnego

Krok 1: Dodaj adnotację tekstową

Adnotacje tekstowe pojawiają się jako przyklejki na stronie. Dostarcz prostokąt ograniczający, zawartość notatki i tytuł autora. Ustaw open: true, aby wyświetlić notatkę rozszerzoną, gdy dokument zostanie otwarty.

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: Dodaj adnotację linku

Adnotacje linku tworzą prostokątny obszar klikalny. Połącz Rectangle z PdfAction.CreateUri wywołaniem, aby po kliknięciu przenieść użytkownika do zewnętrznego adresu URL.

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

Krok 3: Dodaj adnotacje podświetlenia i kształtu

Adnotacje podświetlenia oznaczają regiony tekstu półprzezroczystą nakładką. Kształtowe adnotacje takie jak kwadraty i koła rysują geometryczne kontury na stronie. Oba akceptują tablice kolorów i opcjonalne parametry szerokości linii.

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: Odczyt wartości pól formularza

Pola AcroForm są dostępne przez Document.Form. Iteruj Form.Fields, aby odczytać nazwę każdego pola i jego bieżącą wartość bez modyfikowania dokumentu.

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

Krok 5: Spłaszcz adnotacje

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

Kluczowe klasy

KlasaCel
AnnotationCollectionDodawanie i zarządzanie adnotacjami na stronie
LinkAnnotationAdnotacja hiperłącza
TextAnnotationAdnotacja notatki samoprzylepnej
FormDostęp do pola AcroForm
FieldKlasa bazowa dla pól formularza
PdfAction.CreateUriUtwórz akcję linku URI
AnnotationSelectorFiltrowanie adnotacji według typu

Rozwiązywanie problemów

ProblemRozwiązanie
Adnotacja nie jest widocznaSprawdź, czy współrzędne prostokąta mieszczą się w granicach strony
URI linku jest nullLink może używać akcji GoTo — sprawdź ActionType
Wartość pola formularza jest pustaPole może nie mieć wpisu /V — zweryfikuj nazwę pola

Zobacz także

 Polski