التنقل والإجراءات
التنقل والإجراءات
Aspose.PDF FOSS for .NET يدعم هياكل تنقل PDF — العلامات المرجعية (المخططات)، وجهات الصفحات، وإجراءات المستند. تتيح لك هذه إنشاء مستندات تفاعلية مع تنقل جدول المحتويات، روابط عبر الصفحات، ومشغلات JavaScript.
مخططات المستند (الإشارات المرجعية)
OutlineCollection يحتوي على شجرة العلامات المرجعية للمستند. كل OutlineItemCollection هو إدخال علامة مرجعية يحتوي على عنوان ووجهة.
using var doc = Document.Open(pdfBytes);
foreach (var item in doc.Outlines)
{
Console.WriteLine($"Bookmark: {item.Title}");
}إنشاء إشارات مرجعية
using var doc = Document.Open(pdfBytes);
var bookmark = new OutlineItemCollection(doc.Outlines);
bookmark.Title = "Chapter 1";
bookmark.Action = new GoToAction(doc.Pages[1]);
doc.Outlines.Add(bookmark);
doc.Save("with-bookmarks.pdf");إجراءات GoTo
GoToAction ينتقل إلى صفحة محددة ونوع ملاءمة داخل نفس المستند.
var goTo = new GoToAction(doc.Pages[3]);الإجراءات المسماة
NamedAction يُطلق أوامر عارض PDF المحددة مسبقًا مثل NextPage و PrevPage و FirstPage و LastPage.
var nextPage = PdfAction.CreateNamed("NextPage");إجراءات GoToRemote
GoToRemoteAction يفتح ملف PDF خارجي ويتنقل إلى صفحة محددة.
var remote = new GoToRemoteAction("other.pdf", 1);إطلاق الإجراءات
LaunchAction يفتح ملفًا خارجيًا (أي تنسيق) من رابط PDF.
var launch = new LaunchAction("readme.txt");مجموعات الوجهة
DestinationCollection يربط الوجهات المسماة بالصفحات، داعماً التنقل عبر الإشارات المتبادلة في المستندات الكبيرة.
var dest = doc.Destinations;
int pageNum = dest.GetPageNumber("section2");نصائح وأفضل الممارسات
- أنشئ شجرة إشارة مرجعية تعكس تسلسل أقسام المستند الخاص بك لتسهيل التنقل.
- استخدم
GoToActionمعFitTypeللتحكم في طريقة عرض الصفحة المستهدفة (ملاءمة العرض، ملاءمة الصفحة، إلخ). - الإجراءات المسماة تعتمد على عارض المستند — التزم بالأسماء القياسية (NextPage, PrevPage, FirstPage, LastPage).
- لروابط عبر المستندات، استخدم
GoToRemoteActionبدلاً من إجراءات URI التي تشير إلى ملفات PDF. - مجموعة الإجراءات على الصفحة تتيح لك إضافة إجراءات متعددة تُنفّذ عند فتح الصفحة.
مشكلات شائعة
| المشكلة | السبب | الإصلاح |
|---|---|---|
| الإشارة المرجعية لا تنتقل | لم يتم تعيين إجراء على عنصر المخطط | تعيين GoToAction إلى OutlineItemCollection.Action |
| إجراء GoTo يستهدف صفحة خاطئة | فهرس الصفحة يبدأ من 0 داخليًا لكن الصفحات تبدأ من 1 | استخدام doc.Pages[n] مباشرةً في مُنشئ GoToAction |
| الإجراء المسمى لا يؤثر | العارض لا يدعم الإجراء المسمى | استخدام الأسماء القياسية فقط |
الأسئلة المتكررة
كيف أنشئ جدول محتويات؟
أنشئ OutlineItemCollection إدخالات لكل قسم، كل منها معGoToAction يستهدف الصفحة الأولى للقسم.
هل يمكنني تعشيق العلامات المرجعية؟
نعم. أضف إدخالات OutlineItemCollection الفرعية إلى إشارة مرجعية أصلية لإنشاء مخطط هرمي.
ما أنواع الملاءمة المتاحة لإجراءات GoTo؟
Fit، FitH (ملاءمة العرض)، FitV (ملاءمة الارتفاع)، FitR (ملاءمة المستطيل)، وFitB (ملاءمة صندوق الحدود).
ملخص مرجع API
| Class / Method | Description |
|---|---|
OutlineCollection | مجموعة العلامات المرجعية ذات المستوى الأعلى في المستند |
OutlineItemCollection | إدخال علامة مرجعية واحدة مع العنوان والإجراء |
GoToAction | الانتقال إلى صفحة داخل نفس المستند |
GoToRemoteAction | الانتقال إلى صفحة في ملف PDF خارجي |
LaunchAction | فتح ملف خارجي |
NamedAction | تشغيل أمر عارض محدد مسبقًا |
PdfAction.CreateGoTo | مصنع لإجراءات GoTo |
PdfAction.CreateNamed | مصنع للإجراءات المسماة |
ActionCollection | مجموعة من الإجراءات على صفحة أو تعليق توضيحي |
DestinationCollection | سجل الوجهات المسماة |
ActionType | تعداد: GoTo, URI, JavaScript, Named, Launch |