ViewerPreferences Complete Reference

Τα ViewerPreferences σας επιτρέπουν να ελέγχετε πώς παρουσιάζονται τα PDF documents σε viewers που τα υποστηρίζουν και πώς αρχικοποιούνται ορισμένες default print settings. Η τρέχουσα βιβλιοθήκη HotPDF υποστηρίζει 14 τιμές ViewerPreferences μαζί με τη σχετική ιδιότητα 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 Καμία Κρύβει το viewer toolbar
vpHideMenubar Καμία Κρύβει το viewer menu bar
vpHideWindowUI Καμία Κρύβει UI elements όπως scroll bars και navigation controls
vpFitWindow Καμία Αλλάζει το μέγεθος του document window ώστε να χωρά την πρώτη εμφανιζόμενη σελίδα
vpCenterWindow Καμία Κεντράρει το document window στην οθόνη
vpDisplayDocTitle Title Εμφανίζει τον document title αντί για το file name στο viewer caption
vpDirection Direction Αποθηκεύει την κυρίαρχη reading order με LeftToRight ή RightToLeft
vpNonFullScreenPageMode NonFullScreenPageMode Επιλέγει το page mode που θα χρησιμοποιηθεί μετά την έξοδο από full-screen mode
vpPrintScaling PrintScaling Επιλέγει psNone ή psAppDefault για default print scaling
vpDuplex Duplex Επιλέγει simplex ή duplex printing behavior
vpPickTrayByPDFSize Καμία Ζητά επιλογή printer tray βάσει του PDF page size
vpNumCopies NumCopies Αποθηκεύει τον προτεινόμενο αριθμό print copies
vpPrintArea PrintArea Επιλέγει το page boundary που χρησιμοποιείται για print rendering
vpPrintClip PrintClip Επιλέγει το page boundary που χρησιμοποιείται για print clipping
vpViewArea ViewArea Page boundary που χρησιμοποιείται για την on-screen view area (PDF 1.4 12.2). Διαθέσιμο από το HotPDF v2.29.0
vpViewClip ViewClip Page boundary που χρησιμοποιείται για το on-screen view clipping (PDF 1.4 12.2). Διαθέσιμο από το HotPDF v2.29.0

Τιμές συνοδευτικών ιδιοτήτων

Αυτές οι ιδιότητες γράφονται μόνο όταν είναι ενεργό το αντίστοιχο ViewerPreferences flag

Ιδιότητα Τιμές
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 ελέγχοντας το αρχικό page display mode όταν ανοίγει το έγγραφο

Προεπιλογή: Από το HotPDF v2.3.11 η default value είναι FitHeight (PDF destination /FitV), ώστε τα παραγόμενα έγγραφα να ανοίγουν με κάθε σελίδα προσαρμοσμένη στο ύψος του viewer window. Ορίστε το InitialZoom σε FitNone για να παραλείψετε το OpenAction και να αφήσετε τον viewer να επιστρέψει στο δικό του default zoom

// Πλήρης ρύθμιση παρουσίασης εγγράφου
HotPDF.ViewerPreferences := [vpFitWindow, vpCenterWindow, vpDisplayDocTitle];
HotPDF.InitialZoom := FitWidth;

// Ρύθμιση τεχνικού εγγράφου
HotPDF.ViewerPreferences := [vpDisplayDocTitle, vpPrintScaling];
HotPDF.InitialZoom := Zoom125;

// Λειτουργία παρουσίασης
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
  • Άλλοι viewers: Η υποστήριξη διαφέρει επειδή αυτές οι τιμές είναι προτιμήσεις, όχι σκληρές απαιτήσεις
  • Ομαλή υποβάθμιση: Οι μη υποστηριζόμενες ρυθμίσεις πρέπει να αγνοούνται με ασφάλεια από conforming viewers

Εφαρμογές demo

Τα παρακάτω demos είναι συγχρονισμένα με την τρέχουσα υποστήριξη της βιβλιοθήκης:

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