مرجع کامل ViewerPreferences

ViewerPreferences به شما اجازه می‌دهد نحوه نمایش سندهای PDF در viewerهای پشتیبان و نحوه مقداردهی اولیه برخی تنظیمات چاپ پیش‌فرض را کنترل کنید. کتابخانه فعلی HotPDF چهارده مقدار ViewerPreferences به‌همراه property مرتبط InitialZoom را پشتیبانی می‌کند

انواع دادهٔ فعلی

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;

ViewerPreferences پشتیبانی‌شده

گزینه ویژگی همراه توضیح
vpHideToolbar None نوار ابزار viewer را پنهان می‌کند
vpHideMenubar None نوار منوی viewer را پنهان می‌کند
vpHideWindowUI None عناصر رابط مانند نوارهای پیمایش و کنترل‌های ناوبری را پنهان می‌کند
vpFitWindow None پنجره سند را طوری تغییر اندازه می‌دهد که با نخستین صفحه نمایش‌داده‌شده جور شود
vpCenterWindow None پنجره سند را در مرکز صفحه قرار می‌دهد
vpDisplayDocTitle Title عنوان سند را به‌جای نام فایل در caption viewer نمایش می‌دهد
vpDirection Direction ترتیب غالب خواندن را با LeftToRight یا RightToLeft ذخیره می‌کند
vpNonFullScreenPageMode NonFullScreenPageMode حالت صفحه‌ای را که بعد از خروج از حالت تمام‌صفحه استفاده می‌شود انتخاب می‌کند
vpPrintScaling PrintScaling برای scale پیش‌فرض چاپ psNone یا psAppDefault را انتخاب می‌کند
vpDuplex Duplex رفتار چاپ simplex یا duplex را انتخاب می‌کند
vpPickTrayByPDFSize None انتخاب tray چاپگر را بر اساس اندازه صفحه PDF درخواست می‌کند
vpNumCopies NumCopies تعداد پیشنهادی نسخه‌های چاپ را ذخیره می‌کند
vpPrintArea PrintArea page boundary مورد استفاده برای رندر چاپ را انتخاب می‌کند
vpPrintClip PrintClip page boundary مورد استفاده برای clip چاپ را انتخاب می‌کند
vpViewArea ViewArea page boundary مورد استفاده برای ناحیه دید روی صفحه (PDF 1.4 12.2). از HotPDF v2.29.0 در دسترس است
vpViewClip ViewClip page boundary مورد استفاده برای clip دید روی صفحه (PDF 1.4 12.2). از HotPDF v2.29.0 در دسترس است

مقادیر ویژگی‌های همراه

این propertyها فقط وقتی flag متناظر ViewerPreferences فعال باشد نوشته می‌شوند

ویژگی مقادیر
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

InitialZoom با کنترل حالت اولیه نمایش صفحه هنگام باز شدن سند، مکمل ViewerPreferences است

پیش‌فرض: از HotPDF v2.3.11 مقدار پیش‌فرض FitHeight است، مقصد PDF از نوع /FitV، بنابراین سندهای تولیدشده با هر صفحه متناسب با ارتفاع پنجرهٔ viewer باز می‌شوند. InitialZoom را روی FitNone بگذارید تا OpenAction حذف شود و viewer به زوم پیش‌فرض خودش برگردد

// 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;

نمونه پیاده‌سازی

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;

یادداشت‌های سازگاری

  • Adobe Reader/Acrobat: معمولاً کامل‌ترین پشتیبانی از ViewerPreferences را فراهم می‌کند
  • سایر viewerها: پشتیبانی متفاوت است چون این مقدارها preference هستند نه الزام سخت
  • تنزل سازگار: تنظیمات پشتیبانی‌نشده باید به‌صورت امن توسط viewerهای سازگار نادیده گرفته شوند

برنامه‌های دمو

دموهای زیر با پشتیبانی فعلی کتابخانه همگام شده‌اند:

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