|
Полный справочник ViewerPreferences
ViewerPreferences позволяют управлять тем, как PDF documents отображаются в поддерживающих viewers, и как инициализируются некоторые default print settings. Текущая библиотека HotPDF поддерживает 14 значений ViewerPreferences плюс связанное свойство InitialZoom
Current Data Types
THPDFDirection = (LeftToRight, RightToLeft);
THPDFNonFullScreenPageMode = (
nfpmUseNone, nfpmUseOutlines, nfpmUseThumbs, nfpmUseOC, nfpmUseAttachments
);
THPDFPrintScaling = (psNone, psAppDefault);
THPDFDuplex = (dupSimplex, dupDuplexFlipShortEdge, dupDuplexFlipLongEdge);
THPDFPageBoundary = (pbMediaBox, pbCropBox, pbBleedBox, pbTrimBox, pbArtBox);
THPDFInitialZoom = (
FitNone, FitPage, FitWidth, FitHeight, FitBox, FitBoxWidth, FitBoxHeight,
Zoom50, Zoom75, Zoom100, Zoom125, Zoom150, Zoom200
);
THPDFViewerPreference = (
vpHideToolbar, vpHideMenubar, vpHideWindowUI, vpFitWindow, vpCenterWindow,
vpDisplayDocTitle, vpDirection, vpNonFullScreenPageMode, vpPrintScaling,
vpDuplex, vpPickTrayByPDFSize, vpNumCopies, vpPrintArea, vpPrintClip,
vpViewArea, vpViewClip
);
THPDFViewerPreferences = set of THPDFViewerPreference;
Supported ViewerPreferences
| Option |
Companion Property |
Описание |
| vpHideToolbar |
None |
Hide the viewer toolbar. |
| vpHideMenubar |
None |
Hide the viewer menu bar. |
| vpHideWindowUI |
None |
Hide UI elements such as scroll bars and navigation controls. |
| vpFitWindow |
None |
Resize the document window to fit the first displayed page. |
| vpCenterWindow |
None |
Center the document window on the screen. |
| vpDisplayDocTitle |
Title |
Display the document title instead of the file name in the viewer caption. |
| vpDirection |
Direction |
Store the predominant reading order using LeftToRight or RightToLeft. |
| vpNonFullScreenPageMode |
NonFullScreenPageMode |
Choose the page mode to use after leaving full-screen mode. |
| vpPrintScaling |
PrintScaling |
Choose psNone or psAppDefault for default print scaling. |
| vpDuplex |
Duplex |
Choose simplex or duplex printing behavior. |
| vpPickTrayByPDFSize |
None |
Request printer tray selection based on the PDF page size. |
| vpNumCopies |
NumCopies |
Store the suggested print copy count. |
| vpPrintArea |
PrintArea |
Select the page boundary used for print rendering. |
| vpPrintClip |
PrintClip |
Select the page boundary used for print clipping. |
| vpViewArea |
ViewArea |
Page boundary used for the on-screen view area (PDF 1.4 12.2). Available since HotPDF v2.29.0. |
| vpViewClip |
ViewClip |
Page boundary used for the on-screen view clipping (PDF 1.4 12.2). Available since HotPDF v2.29.0. |
Companion Property Values
Эти свойства записываются только когда включен соответствующий флаг ViewerPreferences
| Свойство |
Values |
| Direction |
LeftToRight, RightToLeft |
| NonFullScreenPageMode |
nfpmUseNone, nfpmUseOutlines, nfpmUseThumbs, nfpmUseOC, nfpmUseAttachments |
| PrintScaling |
psNone, psAppDefault |
| Duplex |
dupSimplex, dupDuplexFlipShortEdge, dupDuplexFlipLongEdge |
| PrintArea / PrintClip / ViewArea / ViewClip |
pbMediaBox, pbCropBox, pbBleedBox, pbTrimBox, pbArtBox |
InitialZoom Integration
InitialZoom дополняет ViewerPreferences, управляя initial page display mode при открытии документа
Значение по умолчанию: начиная с HotPDF v2.3.11 default value равен FitHeight (PDF /FitV destination), поэтому generated documents открываются с каждой страницей, подогнанной к высоте окна viewer. Установите InitialZoom в FitNone, чтобы опустить OpenAction и дать viewer использовать собственный default zoom
// Complete document presentation setup
HotPDF.ViewerPreferences := [vpFitWindow, vpCenterWindow, vpDisplayDocTitle];
HotPDF.InitialZoom := FitWidth;
// Technical document setup
HotPDF.ViewerPreferences := [vpDisplayDocTitle, vpPrintScaling];
HotPDF.InitialZoom := Zoom125;
// Presentation mode
HotPDF.ViewerPreferences := [vpFitWindow, vpHideToolbar, vpHideMenubar];
HotPDF.InitialZoom := FitPage;
Implementation Example
var
VPref: THPDFViewerPreferences;
begin
VPref := [vpFitWindow, vpCenterWindow, vpDisplayDocTitle];
if EnableDirection then
begin
Include(VPref, vpDirection);
HotPDF.Direction := RightToLeft;
end;
if EnablePrintScaling then
begin
Include(VPref, vpPrintScaling);
HotPDF.PrintScaling := psNone;
end;
HotPDF.ViewerPreferences := VPref;
HotPDF.InitialZoom := FitWidth;
end;
Compatibility Notes
- Adobe Reader/Acrobat: обычно предоставляет наиболее полную поддержку ViewerPreferences
- Другие viewers: поддержка различается, потому что эти значения являются preferences, а не жесткими требованиями
- Плавная деградация: неподдерживаемые настройки должны безопасно игнорироваться соответствующими просмотровщиками
Demo Applications
Следующие demos синхронизированы с текущей поддержкой библиотеки:
- Demo\Delphi\ViewerPref
- Demo\CBuilder\ViewerPref
|