書籤(文件大綱)¶
PDF 書籤(又稱文件大綱、Outline)是側邊欄的導航樹狀結構,讓讀者快速跳轉到文件各章節。BookmarkManager 提供流暢的 API 建立任意深度的書籤樹。
建立書籤¶
use NextPDF\Navigation\BookmarkManager;
use NextPDF\Navigation\Bookmark;
$bookmarks = $document->bookmarks();
// 頂層書籤(指向頁碼)
$ch1 = $bookmarks->add(
title: 'Chapter 1: Introduction',
destination: Destination::page(pageNumber: 1),
);
$ch2 = $bookmarks->add(
title: 'Chapter 2: Architecture',
destination: Destination::page(pageNumber: 5),
);
// 巢狀子書籤
$ch2->addChild(
title: '2.1 System Overview',
destination: Destination::page(pageNumber: 5),
);
$ch2->addChild(
title: '2.2 Component Design',
destination: Destination::page(pageNumber: 8),
);
導航目標(Destination)¶
use NextPDF\Navigation\Destination;
// 跳至指定頁面(頂部)
Destination::page(pageNumber: 3);
// 跳至頁面的特定 XYZ 座標(縮放至 150%)
Destination::xyz(
pageNumber: 3,
x: 20.0,
y: 250.0,
zoom: 1.5,
);
// 適合頁面寬度
Destination::fitWidth(pageNumber: 3, y: 200.0);
// 適合頁面
Destination::fit(pageNumber: 3);
// 具名目標(Named Destination)
Destination::named(name: 'section-2-1');
書籤樣式¶
// 粗體、斜體書籤(用於強調重要章節)
$bookmarks->add(
title: 'Appendix A',
destination: Destination::page(pageNumber: 45),
bold: true,
italic: false,
color: Color::rgb(r: 30, g: 58, b: 138),
);