Навігація та дії

Навігація та дії

Навігація та дії

Aspose.PDF FOSS for .NET підтримує структури навігації PDF — закладки (outlines), призначення сторінок і дії документа. Це дозволяє створювати інтерактивні документи з навігацією за змістом, посиланнями між сторінками та тригерами 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 / MethodDescription
OutlineCollectionКолекція закладок верхнього рівня в документі
OutlineItemCollectionОдин запис закладки з назвою та дією
GoToActionПерейти до сторінки в тому ж документі
GoToRemoteActionПерейти до сторінки в зовнішньому PDF
LaunchActionВідкрити зовнішній файл
NamedActionЗапустити попередньо визначену команду переглядача
PdfAction.CreateGoToФабрика для дій GoTo
PdfAction.CreateNamedФабрика для іменованих дій
ActionCollectionКолекція дій на сторінці або анотації
DestinationCollectionРеєстр іменованих призначень
ActionTypeПерерахування: GoTo, URI, JavaScript, Named, Launch

Див. також

 Українська