ViewerConfig

Opcje widżetu przeglądarki klienckiej

ViewerConfig (namespace Doconut) opisuje wygląd i zachowanie przeglądarkowego podglądu. Nie wpływa na jakość renderowania dokumentu; użyj konfiguracji formatu w tym celu. Klasa C# oraz starsza wtyczka JavaScript mają różne wartości domyślne, więc mapuj wartości explicite.

Właściwości C#

TypWłaściwośćDomyślneOpis
boolShowThumbstruePokaż panel miniatur.
boolAutoLoadfalseAutomatycznie ładowany po inicjalizacji. Normalny przepływ tokenów wywołuje View(token) explicite.
boolAutoFocustruePrzenieś fokus/scroll przeglądarki do podglądu podczas inicjalizacji.
boolAutoPageFocustrueUtrzymaj bieżącą miniaturę widoczną podczas zmiany stron.
intPageZoom100Początkowy procent powiększenia.
intZoomStep10Procent dodawany lub usuwany przez polecenia powiększenia.
intMaxZoom300Maksymalny procent powiększenia.
boolShowToolTiptruePokaż podpowiedź pozycji strony podczas przewijania.
stringToolTipPageText"Page "Prefiks używany w podpowiedzi strony.
boolCacheEnabledfalseZachowaj przesuwające się okno obrazów stron w pamięci przeglądarki. Nie używa localStorage.
boolLargeDocfalseDodawaj elementy stron w czasowych partiach dla dużych dokumentów.
boolShowHyperlinksfalseRenderuj nakładki hiperłączy, gdy konfiguracja serwera je wyodrębniła.
boolFixedZoomtrueUżyj stałego procentu powiększenia zamiast responsywnego przeliczania.
intFixedZoomPercent100Stałe powiększenie na pulpicie.
intFixedZoomPercentMobile75Stałe powiększenie na urządzeniach mobilnych.
stringBasePath"/"Gdzie podgląd wysyła żądania stron. "/" jest obsługą DocImage.axd w korzeniu witryny. Dla aplikacji w wirtualnym katalogu użyj nazwy katalogu bez wiodącego / ("myapp" oznacza /myapp/DocImage.axd).
stringResPath"doconut-res/images"Folder, z którego widżet ładuje własne obrazy: folder images pod ResourcesPath, bez wiodącego /.
stringFitType"width""width", "height" lub pusty, aby nie stosować automatycznego dopasowania. "page" nie jest akceptowany przez bieżący widżet.
boolRetryOn409falsePonawia żądania stron, które odpowiadają „still rendering”. DocImage.axd renderuje synchronicznie i nigdy nie wysyła tego sygnału; pozostaw ją false.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "/",                 // "/" = obsługa DocImage.axd w katalogu głównym witryny (Web.config)
    ResPath = "doconut-res/images", // folder obrazów pod ResourcesPath, bez początkowego '/'
    ShowHyperlinks = true
};
// Wygeneruj to za pomocą viewer.RenderViewer("viewerEl", token, config) - zobacz odniesienie do Viewer.

Emitowanie ViewerConfig przy użyciu RenderViewer

Viewer.RenderViewer(elementId, token, config) zamienia ViewerConfig w skrypt inicjalizujący widżet. Zapisuje sześć powyższych właściwości — BasePath, ResPath, ShowThumbs, AutoLoad, PageZoom i FitType — a następnie wywołuje View(token). Pozostałe właściwości nie są zapisywane: dla MaxZoom, ShowHyperlinks, ustawień powiększenia lub dowolnego wywołania zwrotnego, zainicjuj widżet samodzielnie przy użyciu poniższych opcji JavaScript. Zobacz Podgląd dla RenderViewer.

Mapowanie C# na JavaScript

Nie przekazuj bezpośrednio serializowanego ViewerConfig do docViewer(...). Większość kluczy widżetu jest w stylu camelCase, podczas gdy trzy ustalone klucze ścieżka/dopasowanie są w stylu PascalCase.

C#JavaScript
ShowThumbsshowThumbs
AutoLoadautoLoad
AutoFocusautoFocus
AutoPageFocusautoPageFocus
PageZoompageZoom
ZoomStepzoomStep
MaxZoommaxZoom
ShowToolTipshowToolTip
ToolTipPageTexttoolTipPageText
CacheEnabledcacheEnabled
LargeDoclargeDoc
ShowHyperlinksshowHyperlinks
FixedZoomfixedZoom
FixedZoomPercentfixedZoomPercent
FixedZoomPercentMobilefixedZoomPercentMobile
BasePathBasePath
ResPathResPath
FitTypeFitType
RetryOn409retryOn409

Domyślne ustawienia JavaScript

Widżet ma starsze wartości domyślne, które różnią się od klasy C#. Poniższe wartości pochodzą z bieżącej implementacji docViewer.js.

OpcjaDomyślneUwagi
leftMinWidth / leftMaxWidth220 / 800Granice szerokości panelu miniatur.
showThumbstruePoczątkowa widoczność miniatur.
autoFocus / autoPageFocustrue / falseautoPageFocus różni się od domyślnego ustawienia C#.
thumbWidth / thumbHeight / thumbPadding150 / 200 / 10Geometria miniatur w pikselach.
pageZoom / zoomStep / maxZoom100 / 10 / 200JavaScript maxZoom różni się od C# (300).
showToolTip / toolTipPageTexttrue / "Page "Podpowiedź pozycji strony.
format / doc / AccessToken"" / 0 / ""Wewnętrzne wartości inicjalizacji; zazwyczaj wypełniane przez View(token).
debugModefalseDodatkowa diagnostyka po stronie klienta.
FitType""Brak automatycznego dopasowania, chyba że zostanie podane.
BasePath"DocImage.axd"Domyślne ustawienie starszej wersji. Ustaw je jawnie: '/' dla obsługi w katalogu głównym witryny.
ResPath""Ustaw jawnie ścieżkę do osadzonych obrazów.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3Okno i opóźnienie wstępnego ładowania stron w pamięci.
autoLoadfalseZalecany jest jawny przepływ tokenów.
largeDoctrueRóżni się od domyślnego ustawienia C#.
fixedZoomfalseRóżni się od domyślnego ustawienia C#.
fixedZoomPercent / fixedZoomPercentMobile100 / 50Wartość mobilna różni się od C# (75).
showHyperlinkstrueWymaga ekstrakcji po stronie serwera w celu tworzenia nakładek.

Ustaw wszystkie wartości istotne pod względem zachowania, zamiast polegać na którejkolwiek z domyślnych konfiguracji:

html
<div id="divDocViewer"><div id="div_ctlDoc"></div></div>

<script>
const objViewer = $('#div_ctlDoc').docViewer({
    showThumbs: true,
    autoLoad: false,
    autoFocus: true,
    autoPageFocus: true,
    pageZoom: 100,
    zoomStep: 10,
    maxZoom: 300,
    FitType: 'width',
    cacheEnabled: false,
    largeDoc: false,
    showHyperlinks: true,
    fixedZoom: true,
    fixedZoomPercent: 100,
    fixedZoomPercentMobile: 75,
    BasePath: '/',
    ResPath: 'doconut-res/images',
    onViewerReady: function () {},
    onError: function (message) { console.error('DocViewer:', message); }
});
</script>

Wywołania zwrotne

Wywołanie zwrotneArgumentyCel
onPageLoadingpageNumRozpoczyna się żądanie strony.
onPageLoadedpageNumObraz strony zakończył ładowanie.
onThumbnailClickedpageNumUżytkownik wybrał miniaturę.
onPageClickedpageNumUżytkownik wybrał stronę.
onDoubleClicknonePodgląd otrzymał podwójne kliknięcie.
onViewerBusynonePodgląd wszedł w stan zajętości.
onViewerReadynoneInicjalizacja zakończona.
onViewerErrornonePodgląd wszedł w stan błędu.
onErrormessageOperacja zwróciła komunikat o błędzie.
onCopydataDane kopiowania tekstu są dostępne.
onAutoLoadStatuspageNumAutomatyczne ładowanie przeszło do strony.
onThumbsShownnonePanel miniatur stał się widoczny.
onAnnLoadednoneDane adnotacji załadowane.
onAnnSavednoneDane adnotacji zapisane.
onAnnSaveErrornoneZapis adnotacji nie powiódł się.
onAnnClosednoneInterfejs adnotacji zamknięty.

Utrzymuj wywołania zwrotne szybkie; wysyłaj telemetrykę asynchronicznie i nie blokuj renderowania strony.

Publiczne grupy metod

GrupaWspólne metody
Cykl życiaView(token, accessToken?), Close(server?), Token(), Init(), IsLoaded()
NawigacjaGotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages()
Zoom i dopasowanieZoom(zoomIn), CurrentZoom(), FitType(value), Refit()
OrientacjaRotate(page, angle), Flip(page, flipType)
MiniaturyHideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb)
WyszukiwanieCanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...)
AdnotacjeSaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...)
KopiowanieCopy(...), CopyPage(pageNumber), CopyMode(enabled)

Plik JavaScript zawiera również wewnętrzne pomocnicze funkcje. Traktuj jako stabilne punkty integracji wyłącznie metody używane przez interfejs referencyjny i udokumentowane tutaj lub w przewodnikach funkcji.

Opcje ponawiania

Widżet akceptuje również retryOn409 i jego ustawienia opóźnień (retryInitialDelayMs, retryBackoffFactor, retryMaxDelayMs, retryMaxAttempts, retryMaxTotalMs). Służą one wdrożeniom, których strony są generowane w tle. DocImage.axd renderuje każdą stronę podczas żądania, więc pozostaw retryOn409 wyłączone.

Lista kontrolna ścieżek

  • BasePath jest '/', gdy obsługa DocImage.axd znajduje się w katalogu głównym witryny — atrybut path obsługi w Web.config decyduje, gdzie odpowiada. W wirtualnym katalogu użyj nazwy katalogu bez wiodącego / ('myapp', nie '/myapp': przeglądarka dodaje ukośnik, a //myapp/... to żądanie do innego hosta).
  • DoconutOptions.ResourcesPath to miejsce, w którym moduł zasobów udostępnia osadzone pliki (/doconut-res domyślnie).
  • ResPath wskazuje na jego podfolder images, również bez wiodącego / ('doconut-res/images'). Skierowanie go na 'doconut-res' powoduje, że wszystkie ikony zwracają 404, podczas gdy dokument nadal się renderuje.
  • W MVC, routes.IgnoreRoute("doconut-res/{*pathInfo}") musi następować po ResourcesPath, jeśli go zmienisz.
  • ExtractHyperlinks musi być włączone w konfiguracji formatu serwera, zanim showHyperlinks będzie w stanie wyświetlić cokolwiek.

Czy ta strona była pomocna?