Vollständige ViewerPreferences-Referenz

ViewerPreferences ermöglichen es Ihnen zu steuern, wie PDF-Dokumente in unterstützten Anzeigeprogrammen präsentiert werden und wie einige Standard-Druckeinstellungen initialisiert werden; die aktuelle HotPDF-Bibliothek unterstützt 14 ViewerPreferences-Werte plus die zugehörige Eigenschaft InitialZoom

Aktuelle Datentypen

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;

Unterstützte ViewerPreferences

Option Zugehörige Eigenschaft Beschreibung
vpHideToolbar Keine Blendet die Symbolleiste des Viewers aus
vpHideMenubar Keine Blendet die Menüleiste des Viewers aus
vpHideWindowUI Keine Blendet Benutzeroberflächenelemente wie Bildlaufleisten und Navigationssteuerelemente aus
vpFitWindow Keine Passt die Größe des Dokumentfensters an die erste angezeigte Seite an
vpCenterWindow Keine Zentriert das Dokumentfenster auf dem Bildschirm
vpDisplayDocTitle Title Zeigt den Dokumenttitel anstelle des Dateinamens in der Viewer-Titelleiste an
vpDirection Direction Speichert die vorherrschende Lesereihenfolge unter Verwendung von LeftToRight oder RightToLeft
vpNonFullScreenPageMode NonFullScreenPageMode Wählt den Seitenmodus aus, der nach dem Verlassen des Vollbildmodus verwendet werden soll
vpPrintScaling PrintScaling Wählt psNone oder psAppDefault für die Standard-Druckskalierung aus
vpDuplex Duplex Wählt das Verhalten für Simplex- oder Duplexdruck aus
vpPickTrayByPDFSize Keine Fordert die Papierfachauswahl basierend auf der PDF-Seitengröße an
vpNumCopies NumCopies Speichert die vorgeschlagene Anzahl der zu druckenden Kopien
vpPrintArea PrintArea Wählt die für die Druckdarstellung verwendete Seitenbegrenzung aus
vpPrintClip PrintClip Wählt die für das Druck-Clipping verwendete Seitenbegrenzung aus
vpViewArea ViewArea Seitenbegrenzung, die für den Anzeigebereich auf dem Bildschirm verwendet wird (PDF 1.4 12.2); verfügbar seit HotPDF v2.29.0
vpViewClip ViewClip Seitenbegrenzung, die für das Clipping des Anzeigebereichs auf dem Bildschirm verwendet wird (PDF 1.4 12.2); verfügbar seit HotPDF v2.29.0

Werte der zugehörigen Eigenschaften

Diese Eigenschaften werden nur geschrieben, wenn das entsprechende ViewerPreferences-Flag aktiviert ist

Eigenschaft Werte
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 ergänzt die ViewerPreferences, indem es den anfänglichen Seitenanzeigemodus beim Öffnen des Dokuments steuert

Standard: Seit HotPDF v2.3.11 ist der Standardwert FitHeight (PDF-Ziel /FitV), sodass generierte Dokumente so geöffnet werden, dass jede Seite an die Fensterhöhe des Viewers angepasst ist; setzen Sie InitialZoom auf FitNone, um die OpenAction auszulassen und den Viewer auf seinen eigenen Standardzoom zurückgreifen zu lassen

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

Implementierungsbeispiel

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;

Kompatibilitätshinweise

  • Adobe Reader/Acrobat: Bietet in der Regel die vollständigste ViewerPreferences-Unterstützung
  • Andere Viewer: Die Unterstützung variiert, da diese Werte Einstellungen und keine zwingenden Anforderungen darstellen
  • Fehlertoleranz (Graceful Degradation): Nicht unterstützte Einstellungen sollten von konformen Viewern sicher ignoriert werden

Demo-Anwendungen

Die folgenden Demos sind auf die aktuelle Bibliotheksunterstützung abgestimmt:

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