ข้อมูลอ้างอิงฉบับสมบูรณ์สำหรับ ViewerPreferences

ViewerPreferences ช่วยให้คุณควบคุมวิธีนำเสนอเอกสาร PDF ในโปรแกรมดูที่รองรับ และวิธีเริ่มต้นการตั้งค่าการพิมพ์เริ่มต้นบางค่า ไลบรารี HotPDF ปัจจุบันรองรับค่า ViewerPreferences 14 ค่า ร่วมกับคุณสมบัติ 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 ที่รองรับ

Option Companion Property คำอธิบาย
vpHideToolbar ไม่มี ซ่อนแถบเครื่องมือของโปรแกรมดู
vpHideMenubar ไม่มี ซ่อนแถบเมนูของโปรแกรมดู
vpHideWindowUI ไม่มี ซ่อนองค์ประกอบส่วนติดต่อผู้ใช้ เช่น แถบเลื่อนและตัวควบคุมการนำทาง
vpFitWindow ไม่มี ปรับขนาดหน้าต่างเอกสารให้พอดีกับหน้าแรกที่แสดง
vpCenterWindow ไม่มี จัดหน้าต่างเอกสารให้อยู่กึ่งกลางหน้าจอ
vpDisplayDocTitle ชื่อเรื่อง แสดงชื่อเรื่องของเอกสารแทนชื่อไฟล์ในแถบหัวเรื่องของโปรแกรมดู
vpDirection ทิศทาง จัดเก็บลำดับการอ่านหลักโดยใช้ LeftToRight หรือ RightToLeft
vpNonFullScreenPageMode NonFullScreenPageMode เลือกโหมดหน้ากระดาษที่จะใช้หลังจากออกจากโหมดเต็มหน้าจอ
vpPrintScaling การปรับขนาดการพิมพ์ เลือก psNone หรือ psAppDefault สำหรับการปรับขนาดการพิมพ์เริ่มต้น
vpDuplex พิมพ์สองหน้า เลือกพฤติกรรมการพิมพ์แบบหน้าเดียวหรือสองหน้า
vpPickTrayByPDFSize ไม่มี ขอการเลือกถาดเครื่องพิมพ์ตามขนาดหน้ากระดาษของ PDF
vpNumCopies NumCopies จัดเก็บจำนวนสำเนาการพิมพ์ที่แนะนำ
vpPrintArea พื้นที่การพิมพ์ เลือกขอบเขตหน้ากระดาษที่ใช้สำหรับการแสดงผลการพิมพ์
vpPrintClip ขลิบการพิมพ์ เลือกขอบเขตหน้ากระดาษที่ใช้สำหรับการขลิบการพิมพ์
vpViewArea ViewArea ขอบเขตหน้ากระดาษที่ใช้สำหรับพื้นที่มุมมองบนหน้าจอ (PDF 1.4 12.2) เริ่มพร้อมใช้งานตั้งแต่ HotPDF v2.29.0
vpViewClip ViewClip ขอบเขตหน้ากระดาษที่ใช้สำหรับการขลิบมุมมองบนหน้าจอ (PDF 1.4 12.2) เริ่มพร้อมใช้งานตั้งแต่ HotPDF v2.29.0

ค่าคุณสมบัติเสริม

คุณสมบัติเหล่านี้จะถูกเขียนเมื่อเปิดใช้งานแฟล็ก ViewerPreferences ที่ตรงกันเท่านั้น

Property Values
ทิศทาง LeftToRight, RightToLeft
NonFullScreenPageMode nfpmUseNone, nfpmUseOutlines, nfpmUseThumbs, nfpmUseOC, nfpmUseAttachments
การปรับขนาดการพิมพ์ psNone, psAppDefault
พิมพ์สองหน้า dupSimplex, dupDuplexFlipShortEdge, dupDuplexFlipLongEdge
PrintArea / PrintClip / ViewArea / ViewClip pbMediaBox, pbCropBox, pbBleedBox, pbTrimBox, pbArtBox

การบูรณาการ InitialZoom

InitialZoom ช่วยเติมเต็ม ViewerPreferences โดยการควบคุมโหมดการแสดงผลหน้าแรกเมื่อเปิดเอกสาร

ค่าเริ่มต้น: ตั้งแต่ HotPDF v2.3.11 ค่าเริ่มต้นคือ FitHeight (ปลายทาง PDF /FitV) เพื่อให้เอกสารที่สร้างขึ้นเปิดโดยแต่ละหน้าพอดีกับความสูงของหน้าต่างของโปรแกรมดู ตั้งค่า InitialZoom เป็น FitNone เพื่อละเว้น OpenAction และปล่อยให้โปรแกรมดูย้อนกลับไปใช้การย่อขยายเริ่มต้นของตนเอง

// 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 ที่สมบูรณ์ที่สุด
  • โปรแกรมดูอื่นๆ: การรองรับจะแตกต่างกันไปเนื่องจากค่าเหล่านี้เป็นเพียงค่ากำหนด ไม่ใช่ข้อกำหนดที่บังคับ
  • การลดระดับตามลำดับความสำคัญอย่างราบรื่น: ค่าที่ไม่รองรับควรถูกละเว้นอย่างปลอดภัยโดยโปรแกรมดูที่เป็นไปตามข้อกำหนด

แอปพลิเคชันตัวอย่าง

เดโมต่อไปนี้ได้รับการซิงโครไนซ์กับการรองรับไลบรารีปัจจุบัน:

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