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"/"Гілка, де хост мапить UseDoconut().
stringResPath"doconut-res"Базовий шлях ресурсів, що використовується віджетом. У звичайній конфігурації вкажіть <ResourcesPath>/images.
stringFitType"width""width", "height" або порожнє для відсутності автоматичного підгонки. "page" не підтримується поточним віджетом.
boolRetryOn409falseУвімкнути опитування, коли асинхронний/розподілений запит сторінки відповідає 409. Не потрібно для звичайного синхронного переглядача.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "/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 має вказувати на цю гілку.
  • DoconutOptions.ResourcesPath — це шлях до вбудованих ресурсів.
  • ResPath зазвичай вказує на підпапку /images.
  • ExtractHyperlinks має бути ввімкнено у конфігурації формату сервера, перш ніж showHyperlinks зможе щось відображати.

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