ناوبری و اقدامات
ناوبری و اقدامات
Aspose.PDF FOSS for .NET ساختارهای ناوبری PDF — bookmarks (outlines)، page destinations و document actions را پشتیبانی میکند. اینها به شما امکان میدهند اسناد interactive با table-of-contents navigation، cross-page links و JavaScript triggers ایجاد کنید.
سرفصلهای سند (نشانکها)
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برای کنترل نحوه نمایش صفحه هدف استفاده کنید (fit width، fit page و غیره). - اقدامات نامگذاریشده به نمایشگر وابسته هستند — به نامهای استاندارد (NextPage، PrevPage، FirstPage، LastPage) پایبند باشید.
- برای پیوندهای بینسندی، به جای اقدامات URI که به فایلهای PDF اشاره میکنند، از
GoToRemoteActionاستفاده کنید. - مجموعههای Action روی یک صفحه به شما امکان میدهند چندین Action اضافه کنید که هنگام باز شدن صفحه فعال میشوند.
مشکلات رایج
| Issue | Cause | Fix |
|---|---|---|
| نشانک حرکت نمیکند | عمل بر روی مورد طرحواره تنظیم نشده است | یک GoToAction به OutlineItemCollection.Action اختصاص دهید |
| عمل GoTo به صفحه اشتباه اشاره میکند | اندیس صفحه به صورت داخلی از صفر شروع میشود اما صفحات از یک شروع میشوند | بهطور مستقیم 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 |