ViewerConfig

Параметри віджету переглядача клієнта

ViewerConfig (namespace Doconut) описує зовнішній вигляд та поведінку переглядача в браузері. Це не впливає на якість рендерингу документа; для цього використовуйте конфігурацію формату. Клас C# та застарілий JavaScript‑плагін мають різні значення за замовчуванням, тому значення слід явно зіставляти.

Властивості C#

ТипВластивістьЗа замовчуваннямОпис
boolShowThumbstrueПоказувати панель мініатюр.
boolAutoLoadfalseАвтоматично завантажувати після ініціалізації. Звичайний потік токенів явно викликає View(token).
boolAutoFocustrueПереміщати фокус/прокрутку браузера до переглядача під час ініціалізації.
boolAutoPageFocustrueЗберігати поточну мініатюру видимою під час зміни сторінок.
intPageZoom100Початковий відсоток масштабування.
intZoomStep10Відсоток, який додається або віднімається командами масштабування.
intMaxZoom300Максимальний відсоток масштабування.
boolShowToolTiptrueПоказувати підказку позиції сторінки під час прокрутки.
stringToolTipPageText"Page "Префікс, що використовується у підказці сторінки.
boolCacheEnabledfalseЗберігати рухоме вікно зображень сторінок у пам'яті браузера. Не використовує localStorage.
boolLargeDocfalseДодавати елементи сторінок пакетами у часі для великих документів.
boolShowHyperlinksfalseВідображати накладки гіперпосилань, коли серверна конфігурація їх витягнула.
boolFixedZoomtrueВикористовувати фіксований відсоток масштабування замість адаптивного перерахунку.
intFixedZoomPercent100Фіксоване масштабування для настільних пристроїв.
intFixedZoomPercentMobile75Фіксоване масштабування для мобільних пристроїв.
stringBasePath"/"Куди переглядач надсилає запити сторінок. "/" — це DocImage.axd у корені сайту; інакше — гілка, де хост мапить UseDoconut(), без початкового / ("doconut" означає /doconut/DocImage.axd).
stringResPath"doconut-res/images" (26.9.0; "doconut-res" before)Тека, з якої віджет завантажує власні зображення: тека images у ResourcesPath, без початкового /.
stringFitType"width""width", "height" або порожньо для відсутності автоматичного підгонки. "page" не підтримується поточним віджетом.
boolRetryOn409falseУвімкнути опитування, коли асинхронний/розподілений запит сторінки відповідає 409. Не потрібно для звичайного синхронного переглядача.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "doconut",           // без початкового '/': переглядач додає його ("/doconut" стало б //doconut, інший хост)
    ResPath = "doconut-res/images",
    ShowHyperlinks = true
};

Відображення C# у JavaScript

Не передавайте безпосередньо серіалізований ViewerConfig у docViewer(...). Більшість ключів віджету записані у camelCase, тоді як три встановлених ключі шляху/підгонки — у PascalCase.

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

Типові значення JavaScript

Віджет має старіші значення за замовчуванням, які відрізняються від класу C#. Наступні значення взяті з поточної реалізації docViewer.js.

ОпціяЗа замовчуваннямПримітки
leftMinWidth / leftMaxWidth220 / 800Межі ширини панелі мініатюр.
showThumbstrueПочаткова видимість мініатюр.
autoFocus / autoPageFocustrue / falseautoPageFocus відрізняється від значення за замовчуванням у C#.
thumbWidth / thumbHeight / thumbPadding150 / 200 / 10Геометрія мініатюр у пікселях.
pageZoom / zoomStep / maxZoom100 / 10 / 200maxZoom у JavaScript відрізняється від C# (300).
showToolTip / toolTipPageTexttrue / "Page "Підказка позиції сторінки.
format / doc / AccessToken"" / 0 / ""Внутрішні значення ініціалізації; зазвичай заповнюються View(token).
debugModefalseДодаткова діагностика на боці клієнта.
FitType""Автоматична підгонка не застосовується, якщо не вказана.
BasePath"DocImage.axd"Типове значення застарілого обробника. Встановіть явно для ASP.NET Core.
ResPath""Встановіть явно шлях до вбудованих зображень.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3Вікно попереднього завантаження сторінок у пам'яті та затримка.
autoLoadfalseРекомендується явний потік токену.
largeDoctrueВідрізняється від значення за замовчуванням у C#.
fixedZoomfalseВідрізняється від значення за замовчуванням у C#.
fixedZoomPercent / fixedZoomPercentMobile100 / 50Мобільне значення відрізняється від C# (75).
showHyperlinkstrueПотребує серверного вилучення для створення накладок.

Встановлюйте всі важливі поведінкові значення явно, а не покладайтеся на будь‑які набори за замовчуванням:

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: 'doconut',
    ResPath: 'doconut-res/images',
    onViewerReady: function () {},
    onError: function (message) { console.error('DocViewer:', message); }
});
</script>

Зворотні виклики

Зворотний викликАргументиПризначення
onPageLoadingpageNumЗапит на сторінку розпочинається.
onPageLoadedpageNumЗображення сторінки завершило завантаження.
onThumbnailClickedpageNumКористувач вибрав мініатюру.
onPageClickedpageNumКористувач вибрав сторінку.
onDoubleClicknoneПереглядач отримав подвійне клацання.
onViewerBusynoneПереглядач перейшов у зайнятий стан.
onViewerReadynoneІніціалізація завершена.
onViewerErrornoneПереглядач перейшов у стан помилки.
onErrormessageОперація повернула повідомлення про помилку.
onCopydataДоступні дані копіювання тексту.
onAutoLoadStatuspageNumАвтозавантаження перейшло до сторінки.
onThumbsShownnoneПанель мініатюр стала видимою.
onAnnLoadednoneДані анотацій завантажено.
onAnnSavednoneДані анотацій збережено.
onAnnSaveErrornoneНе вдалося зберегти анотації.
onAnnClosednoneІнтерфейс анотацій закрито.

Тримайте зворотні виклики швидкими; надсилайте телеметрію асинхронно і не блокуйте рендеринг сторінки.

Публічні групи методів

ГрупаЗагальні методи
Життєвий циклView(token, accessToken?), Close(server?), Token(), Init(), IsLoaded()
НавігаціяGotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages()
Масштаб і підгонкаZoom(zoomIn), CurrentZoom(), FitType(value), Refit()
ОрієнтаціяRotate(page, angle), Flip(page, flipType)
МініатюриHideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb)
ПошукCanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...)
АнотаціяSaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...)
КопіюванняCopy(...), CopyPage(pageNumber), CopyMode(enabled)

Файл JavaScript також містить внутрішні допоміжні функції. Розглядайте лише методи, які використовуються референтним інтерфейсом і задокументовані тут або у посібниках з функціоналу, як стабільні точки інтеграції.

Повторна спроба після HTTP 409

retryOn409 призначений для асинхронного створення сторінок. Коли ввімкнено, віджет опитує з цими типовими значеннями JavaScript:

ОпціяЗа замовчуванням
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

Залиште його вимкненим для звичайного переглядача. Увімкнення не може зробити непідтримуваний синхронний рендер асинхронним.

Перевірка шляху

  • DoconutOptions.MiddlewarePath має описувати гілку, яку ви фактично мапите.
  • BasePath має вказувати на цю гілку, записуючись без початкового / ('doconut', а не '/doconut': переглядач додає слеш, і //doconut/... є запитом до іншого хоста).
  • DoconutOptions.ResourcesPath — це маршрут вбудованих ресурсів.
  • ResPath зазвичай вказує на його підпапку images, також без початкового / ('doconut-res/images').
  • ExtractHyperlinks має бути ввімкнено у конфігурації формату сервера, перш ніж showHyperlinks зможе щось відображати.

Чи була ця сторінка корисною?