ViewerConfig

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

ViewerConfig (простір імен 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 у корені сайту. Для застосунку у віртуальному каталозі використовуйте назву каталогу без початкового / ("myapp" означає /myapp/DocImage.axd).
stringResPath"doconut-res/images"Тека, з якої віджет завантажує свої зображення: тека images у ResourcesPath, без початкового /.
stringFitType"width""width", "height" або порожньо — без автоматичного підгонювання. "page" не підтримується поточним віджетом.
boolRetryOn409falseПовторює запити сторінок, які відповідають «still rendering». DocImage.axd рендерить синхронно і ніколи не надсилає цей сигнал; залиште false.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "/",                 // "/" = обробник DocImage.axd у корені сайту (Web.config)
    ResPath = "doconut-res/images", // тека images у ResourcesPath, без початкового '/'
    ShowHyperlinks = true
};
// Використайте viewer.RenderViewer("viewerEl", token, config) – див. довідник Viewer.

Генерація ViewerConfig за допомогою RenderViewer

Viewer.RenderViewer(elementId, token, config) перетворює ViewerConfig у скрипт ініціалізації віджету. Він записує шість властивостей, зазначених вище — BasePath, ResPath, ShowThumbs, AutoLoad, PageZoom і FitType — а потім викликає View(token). Інші властивості не записуються: для MaxZoom, ShowHyperlinks, налаштувань масштабування або будь‑якого зворотного виклику ініціалізуйте віджет самостійно за допомогою параметрів JavaScript нижче. Дивіться Переглядач щодо RenderViewer.

Відображення 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"Застаріле значення за замовчуванням. Встановіть явно: '/' для обробника в корені сайту.
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: '/',
    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 також містить внутрішні допоміжні функції. Вважаючи стабільними точками інтеграції, розглядайте лише методи, які використовуються у довідковому інтерфейсі та задокументовані тут або у посібниках з функціоналу.

Параметри повторних спроб

Віджет також приймає retryOn409 та його налаштування затримки (retryInitialDelayMs, retryBackoffFactor, retryMaxDelayMs, retryMaxAttempts, retryMaxTotalMs). Вони призначені для розгортань, у яких сторінки генеруються у фоновому режимі. DocImage.axd рендерить кожну сторінку під час запиту, тому залишайте retryOn409 вимкненим.

Перелік перевірки шляху

  • BasePath є '/', коли обробник DocImage.axd знаходиться в корені сайту — атрибут path обробника у Web.config визначає, куди він відповідає. У віртуальному каталозі використовуйте назву каталогу без початкового / ('myapp', а не '/myapp': переглядач додає слеш, і //myapp/... — це запит до іншого хоста).
  • DoconutOptions.ResourcesPath — це місце, де модуль ресурсів надає вбудовані файли (/doconut-res за замовчуванням).
  • ResPath вказує на підкаталог images, також без початкового / ('doconut-res/images'). Якщо вказати 'doconut-res', всі іконки будуть 404, хоча документ все ще відображається.
  • У MVC, routes.IgnoreRoute("doconut-res/{*pathInfo}") має йти після ResourcesPath, якщо ви його змінюєте.
  • ExtractHyperlinks має бути ввімкнено у конфігурації формату сервера, перш ніж showHyperlinks зможе щось відображати.

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