Referensi Lengkap ViewerPreferences

ViewerPreferences memungkinkan Anda mengontrol bagaimana dokumen PDF ditampilkan di viewer yang mendukungnya dan bagaimana beberapa pengaturan cetak bawaan diinisialisasi. Pustaka HotPDF saat ini mendukung 14 nilai ViewerPreferences plus properti terkait InitialZoom

Tipe Data Saat Ini

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 yang Didukung

Opsi Properti Pendamping Deskripsi
vpHideToolbar None Sembunyikan toolbar viewer
vpHideMenubar None Sembunyikan menu bar viewer
vpHideWindowUI None Sembunyikan elemen UI seperti scrollbar dan kontrol navigasi
vpFitWindow None Ubah ukuran jendela dokumen agar pas dengan halaman pertama yang ditampilkan
vpCenterWindow None Ratakan jendela dokumen ke tengah layar
vpDisplayDocTitle Title Tampilkan judul dokumen alih-alih nama file di caption viewer
vpDirection Direction Simpan urutan baca yang dominan menggunakan LeftToRight atau RightToLeft
vpNonFullScreenPageMode NonFullScreenPageMode Pilih mode halaman yang dipakai setelah keluar dari mode layar penuh
vpPrintScaling PrintScaling Pilih psNone atau psAppDefault untuk penskalaan cetak bawaan
vpDuplex Duplex Pilih perilaku cetak simplex atau duplex
vpPickTrayByPDFSize None Minta pemilihan baki printer berdasarkan ukuran halaman PDF
vpNumCopies NumCopies Simpan jumlah salinan cetak yang disarankan
vpPrintArea PrintArea Pilih batas halaman yang dipakai untuk rendering cetak
vpPrintClip PrintClip Pilih batas halaman yang dipakai untuk pemotongan cetak
vpViewArea ViewArea Batas halaman yang dipakai untuk area tampilan layar (PDF 1.4 12.2). Tersedia sejak HotPDF v2.29.0
vpViewClip ViewClip Batas halaman yang dipakai untuk pemotongan tampilan layar (PDF 1.4 12.2). Tersedia sejak HotPDF v2.29.0

Nilai Properti Pendamping

Properti ini hanya ditulis saat flag ViewerPreferences yang cocok diaktifkan

Properti Nilai
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

Integrasi InitialZoom

InitialZoom melengkapi ViewerPreferences dengan mengontrol mode tampilan halaman awal saat dokumen dibuka

Bawaan: Sejak HotPDF v2.3.11 nilai bawaan adalah FitHeight (tujuan PDF /FitV), sehingga dokumen yang dihasilkan terbuka dengan setiap halaman pas setinggi jendela viewer. Set InitialZoom ke FitNone untuk menghilangkan OpenAction dan membiarkan viewer memakai zoom defaultnya sendiri

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

Contoh Implementasi

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;

Catatan Kompatibilitas

  • Adobe Reader/Acrobat: Biasanya menyediakan dukungan ViewerPreferences paling lengkap
  • Other Viewers: Dukungan bervariasi karena nilai ini adalah preferensi, bukan persyaratan keras
  • Graceful Degradation: Pengaturan yang tidak didukung harus diabaikan dengan aman oleh viewer yang patuh

Aplikasi Demo

Demo berikut disinkronkan dengan dukungan pustaka saat ini:

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