כיצד להוסיף הערות וטפסים ל‑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");שלב 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 — אמת שם השדה |