|
Pełna dokumentacja ViewerPreferences
ViewerPreferences pozwalają kontrolować sposób prezentacji dokumentów PDF w obsługujących je viewerach oraz inicjalizację części default print settings. Aktualna biblioteka HotPDF obsługuje 14 wartości ViewerPreferences oraz powiązaną właściwość InitialZoom
Aktualne typy danych
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;
Obsługiwane ViewerPreferences
| Opcja |
Właściwość towarzysząca |
Opis |
| vpHideToolbar |
Brak |
Ukrywa toolbar viewera |
| vpHideMenubar |
Brak |
Ukrywa menu bar viewera |
| vpHideWindowUI |
Brak |
Ukrywa elementy UI, takie jak scroll bars i navigation controls |
| vpFitWindow |
Brak |
Zmienia rozmiar document window, aby dopasować pierwszą wyświetlaną stronę |
| vpCenterWindow |
Brak |
Centruje document window na ekranie |
| vpDisplayDocTitle |
Title |
Wyświetla tytuł dokumentu zamiast nazwy pliku w caption viewera |
| vpDirection |
Direction |
Zapisuje dominujący reading order z użyciem LeftToRight lub RightToLeft |
| vpNonFullScreenPageMode |
NonFullScreenPageMode |
Wybiera page mode używany po wyjściu z full-screen mode |
| vpPrintScaling |
PrintScaling |
Wybiera psNone lub psAppDefault dla default print scaling |
| vpDuplex |
Duplex |
Wybiera zachowanie drukowania simplex lub duplex |
| vpPickTrayByPDFSize |
Brak |
Żąda wyboru printer tray na podstawie rozmiaru strony PDF |
| vpNumCopies |
NumCopies |
Zapisuje sugerowaną liczbę kopii wydruku |
| vpPrintArea |
PrintArea |
Wybiera page boundary używane do print rendering |
| vpPrintClip |
PrintClip |
Wybiera page boundary używane do print clipping |
| vpViewArea |
ViewArea |
Page boundary używane dla on-screen view area (PDF 1.4 12.2). Dostępne od HotPDF v2.29.0 |
| vpViewClip |
ViewClip |
Page boundary używane dla on-screen view clipping (PDF 1.4 12.2). Dostępne od HotPDF v2.29.0 |
Wartości właściwości towarzyszących
Te właściwości są zapisywane tylko wtedy, gdy włączona jest odpowiadająca im flaga ViewerPreferences
| Właściwość |
Wartości |
| 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 |
Integracja InitialZoom
InitialZoom uzupełnia ViewerPreferences, kontrolując początkowy tryb wyświetlania strony po otwarciu dokumentu
Domyślnie: Od HotPDF v2.3.11 wartością domyślną jest FitHeight (destination PDF /FitV), więc wygenerowane dokumenty otwierają się z każdą stroną dopasowaną do wysokości okna viewera. Ustaw InitialZoom na FitNone, aby pominąć OpenAction i pozwolić viewerowi użyć własnego default zoom
// Pełna konfiguracja prezentacji dokumentu
HotPDF.ViewerPreferences := [vpFitWindow, vpCenterWindow, vpDisplayDocTitle];
HotPDF.InitialZoom := FitWidth;
// Konfiguracja dokumentu technicznego
HotPDF.ViewerPreferences := [vpDisplayDocTitle, vpPrintScaling];
HotPDF.InitialZoom := Zoom125;
// Tryb prezentacji
HotPDF.ViewerPreferences := [vpFitWindow, vpHideToolbar, vpHideMenubar];
HotPDF.InitialZoom := FitPage;
Przykład implementacji
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;
Uwagi dotyczące zgodności
- Adobe Reader/Acrobat: Zwykle zapewnia najpełniejszą obsługę ViewerPreferences
- Inne viewery: Obsługa różni się, ponieważ te wartości są preferencjami, a nie twardymi wymaganiami
- Łagodna degradacja: Nieobsługiwane ustawienia powinny być bezpiecznie ignorowane przez zgodne viewery
Aplikacje demo
Następujące demos są zsynchronizowane z aktualną obsługą biblioteki:
- Demo\Delphi\ViewerPref
- Demo\CBuilder\ViewerPref
|