چگونه حاشیه‌نویسی‌ها و فرم‌ها را به PDF در .NET اضافه کنیم

چگونه حاشیه‌نویسی‌ها و فرم‌ها را به PDF در .NET اضافه کنیم

چگونه حاشیه‌نویسی‌ها و فرم‌ها را در .NET اضافه کنیم

این راهنما نشان می‌دهد چگونه حاشیه‌نویسی‌ها و فیلدهای فرم تعاملی را به اسناد PDF با استفاده از Aspose.PDF FOSS برای .NET اضافه کنیم.


پیش‌نیازها

نیازمندیجزئیات
زمان اجرا.NET 8.0 یا بعد
بستهdotnet add package Aspose.Pdf.Foss
مجوز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");

مرحله ۲: افزودن حاشیه‌نویسی پیوند

حاشیه‌های پیوند یک ناحیه مستطیلی را قابل کلیک می‌کنند. یک Rectangle را با یک فراخوانی PdfAction.CreateUri ترکیب کنید تا هنگام کلیک کاربر به یک URL خارجی هدایت شود.

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

مرحله ۳: افزودن حاشیه‌نویسی‌های برجسته و شکل

حاشیه‌نویسی‌های Highlight نواحی متن را با یک پوشش نیمه‌شفاف علامت‌گذاری می‌کند. حاشیه‌نویسی‌های Shape مانند مربع‌ها و دایره‌ها خطوط هندسی را بر روی صفحه می‌کشد. هر دو آرایه‌های color و پارامترهای اختیاری line-width را می‌پذیرند.

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

مرحله ۴: خواندن مقادیر فیلدهای فرم

فیلدهای 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فیلتر کردن حاشیه‌نویسی‌ها بر اساس نوع

عیب‌یابی

ProblemSolution
حاشیه‌نویسی نمایش داده نمی‌شودبررسی کنید که مختصات مستطیل در محدوده صفحه باشد
URI لینک خالی استممکن است لینک از عمل GoTo استفاده کند — ActionType را بررسی کنید
مقدار فیلد فرم خالی استممکن است فیلد ورودی /V نداشته باشد — نام فیلد را تأیید کنید

همچنین ببینید

 فارسی