Référence complète ViewerPreferences

ViewerPreferences permettent de contrôler la manière dont les documents PDF sont présentés dans les visionneuses compatibles et la manière dont certains paramètres d’impression par défaut sont initialisés. La bibliothèque HotPDF actuelle prend en charge 14 valeurs ViewerPreferences ainsi que la propriété associée InitialZoom

Types de données actuels

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 pris en charge

Option Propriété associée Description
vpHideToolbar Aucune Masque la barre d’outils de la visionneuse
vpHideMenubar Aucune Masque la barre de menus de la visionneuse
vpHideWindowUI Aucune Masque les éléments d’interface tels que les barres de défilement et les contrôles de navigation
vpFitWindow Aucune Redimensionne la fenêtre du document pour ajuster la première page affichée
vpCenterWindow Aucune Centre la fenêtre du document à l’écran
vpDisplayDocTitle Title Affiche le titre du document au lieu du nom du fichier dans la barre de titre de la visionneuse
vpDirection Direction Stocke l’ordre de lecture prédominant à l’aide de LeftToRight ou RightToLeft
vpNonFullScreenPageMode NonFullScreenPageMode Choisit le mode de page à utiliser après la sortie du mode plein écran
vpPrintScaling PrintScaling Choisit psNone ou psAppDefault pour l’échelle d’impression par défaut
vpDuplex Duplex Choisit un comportement d’impression recto simple ou recto verso
vpPickTrayByPDFSize Aucune Demande la sélection du bac d’imprimante en fonction de la taille de page PDF
vpNumCopies NumCopies Stocke le nombre de copies d’impression suggéré
vpPrintArea PrintArea Sélectionne la boîte de page utilisée pour le rendu d’impression
vpPrintClip PrintClip Sélectionne la boîte de page utilisée pour le rognage à l’impression
vpViewArea ViewArea Boîte de page utilisée pour la zone d’affichage à l’écran (PDF 1.4 12.2). Disponible depuis HotPDF v2.29.0
vpViewClip ViewClip Boîte de page utilisée pour le rognage à l’écran (PDF 1.4 12.2). Disponible depuis HotPDF v2.29.0

Valeurs des propriétés associées

Ces propriétés ne sont écrites que lorsque le drapeau ViewerPreferences correspondant est activé

Propriété Valeurs
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

Intégration de InitialZoom

InitialZoom complète ViewerPreferences en contrôlant le mode d’affichage initial de la page à l’ouverture du document

Défaut : depuis HotPDF v2.3.11, la valeur par défaut est FitHeight (destination PDF /FitV), de sorte que les documents générés s’ouvrent avec chaque page ajustée à la hauteur de la fenêtre de la visionneuse. Réglez InitialZoom sur FitNone pour omettre l’OpenAction et laisser la visionneuse revenir à son propre zoom par défaut

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

Exemple d’implémentation

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;

Notes de compatibilité

  • Pour Adobe Reader/Acrobat : la prise en charge ViewerPreferences est généralement la plus complète
  • Autres visionneuses : la prise en charge varie car ces valeurs sont des préférences, pas des exigences strictes
  • Dégradation gracieuse : les paramètres non pris en charge doivent être ignorés sans risque par les visionneuses conformes

Applications de démonstration

Les démonstrations suivantes sont synchronisées avec la prise en charge actuelle de la bibliothèque :

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