Як додати анотації та форми до PDF у .NET
Як додати анотації та форми у .NET
У цьому посібнику показано, як додавати анотації та інтерактивні поля форми до PDF‑документів за допомогою Aspose.PDF FOSS для .NET.
Вимоги
| Вимога | Деталь |
|---|---|
| Runtime | .NET 8.0 або пізніше |
| Package | dotnet add package Aspose.Pdf.Foss |
| License | MIT — ключ ліцензії не потрібен |
Крок 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");Ключові класи
| Class | Purpose |
|---|---|
AnnotationCollection | Додавати та керувати анотаціями сторінки |
LinkAnnotation | Анотація гіперпосилання |
TextAnnotation | Анотація липкої нотатки |
Form | Доступ до полів AcroForm |
Field | Базовий клас для полів форми |
PdfAction.CreateUri | Створити дію посилання URI |
AnnotationSelector | Фільтрувати анотації за типом |
Усунення проблем
| Проблема | Рішення |
|---|---|
| Анотація не видима | Перевірте, що координати прямокутника знаходяться в межах сторінки |
| URI посилання є null | Посилання може використовувати дію GoTo — перевірте ActionType |
| Значення поля форми порожнє | Поле може не мати запису /V — перевірте назву поля |