ViewerPreferences Complete Reference

ViewerPreferences omogočajo nadzor nad tem, kako so dokumenti PDF predstavljeni v podprtih pregledovalnikih in kako se inicializirajo nekatere privzete nastavitve tiskanja. Trenutna knjižnica HotPDF podpira 14 vrednosti ViewerPreferences plus povezano lastnost 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 Opis
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

Te lastnosti se zapišejo samo, kadar je ustrezna zastavica ViewerPreferences omogočena

Property 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 dopolnjuje ViewerPreferences tako, da nadzira začetni način prikaza strani, ko se dokument odpre

Privzeto: Od različice HotPDF v2.3.11 je privzeta vrednost FitHeight (cilj PDF /FitV), zato se ustvarjeni dokumenti odprejo tako, da je vsaka stran prilagojena višini okna pregledovalnika. Nastavite InitialZoom na FitNone, če želite izpustiti OpenAction in prepustiti pregledovalniku njegovo privzeto povečavo

// 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: običajno zagotavlja najbolj popolno podporo za ViewerPreferences
  • Drugi pregledovalniki: podpora se razlikuje, ker so te vrednosti nastavitve in ne trde zahteve
  • Postopna degradacija: nepodprte nastavitve morajo skladni pregledovalniki varno prezreti

Demo Applications

Naslednji demo primeri so usklajeni s trenutno podporo knjižnice

  • Demo\Delphi\ViewerPref
  • Demo\CBuilder\ViewerPref