Як додати анотації та форми до PDF у .NET

Як додати анотації та форми до PDF у .NET

Як додати анотації та форми у .NET

У цьому посібнику показано, як додавати анотації та інтерактивні поля форми до PDF‑документів за допомогою Aspose.PDF FOSS для .NET.


Вимоги

ВимогаДеталь
Runtime.NET 8.0 або пізніше
Packagedotnet add package Aspose.Pdf.Foss
LicenseMIT — ключ ліцензії не потрібен

Крок 1: Додати текстову анотацію

Текстові анотації відображаються як липкі нотатки на сторінці. Вкажіть обмежувальний прямокутник, вміст нотатки та заголовок автора. Встановіть open: true, щоб нотатку було розгорнуто під час відкриття документа.

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");

Крок 2: Додати анотацію посилання

Анотації посилань роблять прямокутну область клікабельною. Поєднайте Rectangle з PdfAction.CreateUri викликом, щоб при натисканні перенаправити користувача на зовнішнє URL.

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

Крок 3: Додати підсвічування та анотації у вигляді фігур

Позначки виділення позначають ділянки тексту прозорим накладенням. Фігурні позначки, такі як квадрати та кола, малюють геометричні контури на сторінці. Обидва приймають масиви кольорів та необов’язкові параметри ширини лінії.

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);

Крок 4: Читання значень полів форми

Поля AcroForm доступні через Document.Form. Ітеруйте Form.Fields, щоб прочитати назву кожного поля та його поточне значення без зміни документа.

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

Крок 5: Сплющити анотації

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

Ключові класи

ClassPurpose
AnnotationCollectionДодавати та керувати анотаціями сторінки
LinkAnnotationАнотація гіперпосилання
TextAnnotationАнотація липкої нотатки
FormДоступ до полів AcroForm
FieldБазовий клас для полів форми
PdfAction.CreateUriСтворити дію посилання URI
AnnotationSelectorФільтрувати анотації за типом

Усунення проблем

ПроблемаРішення
Анотація не видимаПеревірте, що координати прямокутника знаходяться в межах сторінки
URI посилання є nullПосилання може використовувати дію GoTo — перевірте ActionType
Значення поля форми порожнєПоле може не мати запису /V — перевірте назву поля

Див. також

 Українська