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