ViewerConfig
Параметри віджета переглядача клієнта
ViewerConfig (простір імен Doconut) описує зовнішній вигляд та поведінку переглядача в браузері. Він не впливає на якість відображення документа; для цього використовуйте конфігурацію формату. Клас C# та давно існуючий JavaScript‑віджет мають різні типові значення, тому значення потрібно явно зіставляти.
Властивості C#
| Тип | Властивість | Типове значення | Опис |
|---|---|---|---|
bool | ShowThumbs | true | Показувати панель мініатюр. |
bool | AutoLoad | false | Автоматично завантажувати після ініціалізації. Звичайний потік токенів явно викликає View(token). |
bool | AutoFocus | true | Перемістити фокус/прокрутку браузера до переглядача під час ініціалізації. |
bool | AutoPageFocus | true | Зберігати поточну мініатюру видимою під час зміни сторінок. |
int | PageZoom | 100 | Початковий відсоток масштабування. |
int | ZoomStep | 10 | Відсоток, який додається або віднімається командами масштабування. |
int | MaxZoom | 300 | Максимальний відсоток масштабування. |
bool | ShowToolTip | true | Показувати підказку позиції сторінки під час прокрутки. |
string | ToolTipPageText | "Page " | Префікс, що використовується в підказці сторінки. |
bool | CacheEnabled | false | Зберігати рухоме вікно зображень сторінок у пам'яті браузера. Не використовує localStorage. |
bool | LargeDoc | false | Додавати елементи сторінок пакетами у часі для великих документів. |
bool | ShowHyperlinks | false | Відображати накладки гіперпосилань, коли серверна конфігурація їх витягла. |
bool | FixedZoom | true | Використовувати фіксований відсоток масштабування замість адаптивного перерахунку. |
int | FixedZoomPercent | 100 | Фіксоване масштабування для настільних пристроїв. |
int | FixedZoomPercentMobile | 75 | Фіксоване масштабування для мобільних пристроїв. |
string | BasePath | "/" | Гілка, де хост мапить UseDoconut(). |
string | ResPath | "doconut-res" | Базовий ресурс, що використовується віджетом. У звичайній конфігурації вкажіть його як <ResourcesPath>/images. |
string | FitType | "width" | \"width\", \"height\" або порожнє значення для відсутності автоматичного підгонки. \"page\" не підтримується поточним віджетом. |
bool | RetryOn409 | false | Увімкнути опитування, коли асинхронне/розподілене створення сторінок відповідає 202 Accepted; 409 також приймається для сумісності зі старими серверами. Не потрібно для звичайного синхронного переглядача. |
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 |
|---|---|
ShowThumbs | showThumbs |
AutoLoad | autoLoad |
AutoFocus | autoFocus |
AutoPageFocus | autoPageFocus |
PageZoom | pageZoom |
ZoomStep | zoomStep |
MaxZoom | maxZoom |
ShowToolTip | showToolTip |
ToolTipPageText | toolTipPageText |
CacheEnabled | cacheEnabled |
LargeDoc | largeDoc |
ShowHyperlinks | showHyperlinks |
FixedZoom | fixedZoom |
FixedZoomPercent | fixedZoomPercent |
FixedZoomPercentMobile | fixedZoomPercentMobile |
BasePath | BasePath |
ResPath | ResPath |
FitType | FitType |
RetryOn409 | retryOn409 |
Типові значення JavaScript
Віджет має старі типові значення, які відрізняються від класу C#. Нижче наведено значення, отримані з поточної реалізації docViewer.js.
| Опція | Типове значення | Примітки |
|---|---|---|
leftMinWidth / leftMaxWidth | 220 / 800 | Межі ширини панелі мініатюр. |
showThumbs | true | Початкова видимість мініатюр. |
autoFocus / autoPageFocus | true / false | autoPageFocus відрізняється від типового значення C#. |
thumbWidth / thumbHeight / thumbPadding | 150 / 200 / 10 | Геометрія мініатюр у пікселях. |
pageZoom / zoomStep / maxZoom | 100 / 10 / 200 | maxZoom у JavaScript відрізняється від C# (300). |
showToolTip / toolTipPageText | true / "Page " | Підказка позиції сторінки. |
format / doc / AccessToken | "" / 0 / "" | Внутрішні значення ініціалізації; зазвичай заповнюються View(token). |
debugMode | false | Додаткова діагностика на клієнті. |
FitType | "" | Автоматична підгонка не виконується, якщо не вказано. |
BasePath | "DocImage.axd" | Історичне типове значення клієнта, збережене для сумісності. Поточні хости ASP.NET Core повинні явно встановити його на маповану гілку middleware. |
ResPath | "" | Встановлюється явно до шляху вбудованих зображень. |
cacheEnabled / cacheCount / cacheDelay | false / 3 / 3 | Вікно та затримка передзавантаження сторінок у пам'яті. |
autoLoad | false | Рекомендується явний потік токенів. |
largeDoc | true | Відрізняється від типового значення C#. |
fixedZoom | false | Відрізняється від типового значення C#. |
fixedZoomPercent / fixedZoomPercentMobile | 100 / 50 | Мобільне значення відрізняється від C# (75). |
showHyperlinks | true | Потрібне серверне витягнення для створення накладок. |
Встановіть усі важливі з точки зору поведінки значення замість того, щоб покладатися на будь‑який набір типових значень:
<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>Зворотні виклики
| Зворотний виклик | Аргументи | Призначення |
|---|---|---|
onPageLoading | pageNum | Запит на завантаження сторінки розпочато. |
onPageLoaded | pageNum | Зображення сторінки завершило завантаження. |
onThumbnailClicked | pageNum | Користувач вибрав мініатюру. |
onPageClicked | pageNum | Користувач вибрав сторінку. |
onDoubleClick | none | Переглядач отримав подвійний клік. |
onViewerBusy | none | Переглядач перейшов у зайнятий стан. |
onViewerReady | none | Ініціалізація завершена. |
onViewerError | none | Переглядач перейшов у стан помилки. |
onError | message | Операція повернула повідомлення про помилку. |
onCopy | data | Доступні дані копіювання тексту. |
onAutoLoadStatus | pageNum | Автозавантаження перейшло до сторінки. |
onThumbsShown | none | Панель мініатюр стала видимою. |
onAnnLoaded | none | Дані анотацій завантажено. |
onAnnSaved | none | Дані анотацій збережено. |
onAnnSaveError | none | Не вдалося зберегти анотації. |
onAnnClosed | none | Інтерфейс анотацій закрито. |
Тримайте зворотні виклики швидкими; надсилайте телеметрію асинхронно і не блокуйте рендеринг сторінки.
Групи публічних методів
| Група | Загальні методи |
|---|---|
| Життєвий цикл | 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:
| Опція | Типове значення |
|---|---|
retryInitialDelayMs | 250 |
retryBackoffFactor | 1.6 |
retryMaxDelayMs | 2500 |
retryMaxAttempts | 60 |
retryMaxTotalMs | 120000 |
Залиште його вимкненим для звичайного переглядача. Увімкнення не може зробити асинхронним непідтримуваний синхронний рендер.
Контрольний список шляхів
DoconutOptions.MiddlewarePathмає описувати гілку, яку ви фактично мапите.BasePathмає вказувати на цю гілку.DoconutOptions.ResourcesPath— це шлях до вбудованих ресурсів.ResPathзазвичай вказує на підпапку/images.ExtractHyperlinksмає бути ввімкнено у конфігурації формату сервера, перш ніжshowHyperlinksзможе щось відображати.
Чи була ця сторінка корисною?