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"/"Гілка, де хост мапить UseDoconut().
stringResPath"doconut-res"Базовий ресурс, що використовується віджетом. У звичайній конфігурації вкажіть його як <ResourcesPath>/images.
stringFitType"width"\"width\", \"height\" або порожнє значення для відсутності автоматичного підгонки. \"page\" не підтримується поточним віджетом.
boolRetryOn409falseУвімкнути опитування, коли асинхронне/розподілене створення сторінок відповідає 202 Accepted; 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 повинні явно встановити його на маповану гілку middleware.
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 також містить внутрішні допоміжні функції. Вважайте стабільними лише ті методи, які використовуються в довідковому інтерфейсі та задокументовані тут або у посібниках щодо функцій.

Повторна спроба, поки розподілена сторінка ще рендериться

retryOn409 зберігає свою історичну назву. Вона призначена для асинхронного створення сторінок і повторює поточну відповідь готовності 202 Accepted, а також старіший сигнал 409 Conflict. При увімкненні віджет опитує з такими типовими значеннями JavaScript:

ОпціяТипове значення
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

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

Контрольний список шляхів

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

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