ViewerPreferences Complete Reference

ViewerPreferences מאפשרות לשלוט באופן שבו מסמכי PDF מוצגים בקוראים תומכים ובאופן שבו מאותחלות חלק מהגדרות ההדפסה המוגדרות כברירת מחדל. ספריית 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 התואם מופעל

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 משלים את ViewerPreferences באמצעות שליטה במצב תצוגת העמוד הראשוני בעת פתיחת המסמך

ברירת מחדל: מאז HotPDF v2.3.11 ערך ברירת המחדל הוא FitHeight ‏(יעד PDF ‏/FitV), כך שמסמכים שנוצרים נפתחים כאשר כל עמוד מותאם לגובה חלון ה-viewer. הגדר InitialZoom ל-FitNone כדי להשמיט את OpenAction ולאפשר ל-viewer לחזור ל-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 השלמה ביותר
  • קוראים אחרים: התמיכה משתנה משום שערכים אלה הם preferences ולא דרישות קשיחות
  • הידרדרות הדרגתית: קוראים תואמים אמורים להתעלם בבטחה מהגדרות שאינן נתמכות

Demo Applications

הדוגמאות הבאות מסונכרנות עם תמיכת הספרייה הנוכחית:

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