檢視器偏好設定¶
ViewerPreferences 控制 PDF 閱讀器開啟文件時的初始顯示行為,包含頁面版面(單頁/雙頁/連續)、縮放模式、工具列顯示,以及全螢幕模式等。這些設定是「建議」(hint)性質——各個 PDF 閱讀器可能有不同的執行方式。
基本設定¶
use NextPDF\Writer\ViewerPreferences;
use NextPDF\Writer\PageLayout;
use NextPDF\Writer\PageMode;
$document->viewerPreferences()->set(
ViewerPreferences::create(
pageLayout: PageLayout::TwoColumnLeft, // 雙欄版面(書籍閱讀模式)
pageMode: PageMode::UseOutlines, // 開啟時顯示書籤面板
hideToolbar: false, // 顯示工具列
hideMenubar: false, // 顯示選單列
hideWindowUI: false, // 顯示滾動條等 UI
fitWindow: false, // 不自動調整視窗大小
centerWindow: true, // 視窗置中
displayDocTitle: true, // 在標題列顯示文件標題
),
);
頁面版面(PageLayout)¶
use NextPDF\Writer\PageLayout;
PageLayout::SinglePage // 每次顯示一頁(預設)
PageLayout::OneColumn // 單欄連續捲動
PageLayout::TwoColumnLeft // 雙欄,奇數頁在左(書籍,左裝訂)
PageLayout::TwoColumnRight // 雙欄,奇數頁在右(雜誌,右裝訂)
PageLayout::TwoPageLeft // 雙頁,奇數頁在左
PageLayout::TwoPageRight // 雙頁,奇數頁在右
開啟模式(PageMode)¶
use NextPDF\Writer\PageMode;
PageMode::UseNone // 不開啟任何面板(預設)
PageMode::UseOutlines // 開啟書籤(Outlines)面板
PageMode::UseThumbs // 開啟縮圖(Thumbnails)面板
PageMode::FullScreen // 全螢幕模式
PageMode::UseOC // 開啟可選內容(OCG 圖層)面板
PageMode::UseAttachments // 開啟附件面板
初始頁面設定¶
// 開啟時跳至特定頁面
$document->viewerPreferences()->setOpenAction(
destination: Destination::page(pageNumber: 3),
);
// 開啟時以特定縮放顯示
$document->viewerPreferences()->setOpenAction(
destination: Destination::xyz(
pageNumber: 1,
x: null, // null=保持現有 X
y: null, // null=保持現有 Y
zoom: 1.25, // 125% 縮放
),
);
列印設定¶
$document->viewerPreferences()->setPrintPreferences(
PrintPreferences::create(
numCopies: 1,
pickTrayByPDFSize: true, // 根據頁面大小自動選紙匣
printScaling: PrintScaling::AppDefault, // None | AppDefault
duplex: Duplex::DuplexFlipLongEdge, // 自動雙面列印(長邊翻轉)
),
);
Duplex 選項 | 說明 |
|---|---|
Simplex | 單面列印 |
DuplexFlipShortEdge | 雙面,短邊翻轉(適合橫向文件) |
DuplexFlipLongEdge | 雙面,長邊翻轉(適合直向文件,最常見) |
方向性文字設定¶
// RTL(右至左)語言文件的閱讀方向
$document->viewerPreferences()->setDirection(
Direction::R2L, // L2R(預設)| R2L(阿拉伯文、希伯來文)
);