كيفية إضافة التعليقات التوضيحية والنماذج إلى PDF في .NET
كيفية إضافة التعليقات التوضيحية والنماذج في .NET
هذا الدليل يوضح كيفية إضافة التعليقات التوضيحية وحقول النماذج التفاعلية إلى مستندات PDF باستخدام Aspose.PDF FOSS for .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");الخطوة 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");الفئات الرئيسية
| الفئة | الغرض |
|---|---|
AnnotationCollection | إضافة وإدارة تعليقات الصفحة |
LinkAnnotation | تعليق ارتباط تشعبي |
TextAnnotation | تعليق ملاحظة لاصقة |
Form | الوصول إلى حقول AcroForm |
Field | الفئة الأساسية لحقول النموذج |
PdfAction.CreateUri | إنشاء إجراء رابط URI |
AnnotationSelector | تصفية التعليقات حسب النوع |
استكشاف الأخطاء وإصلاحها
| Problem | Solution |
|---|---|
| Annotation not visible | تحقق من أن إحداثيات المستطيل ضمن حدود الصفحة |
| Link URI is null | قد يستخدم الرابط إجراء GoTo — تحقق من ActionType |
| Form field value empty | قد لا يحتوي الحقل على إدخال /V — تحقق من اسم الحقل |