ViewerConfig
Параметри віджета клієнтського переглядача
ViewerConfig (namespace 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 | Увімкнути опитування, коли асинхронний/розподілений запит сторінки відповідає 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. |
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 містить також внутрішні допоміжні функції. Слід вважати стабільними лише ті методи, які використовуються у довідковому інтерфейсі та задокументовані тут або у посібниках функціоналу.
Повторна спроба після HTTP 409
retryOn409 використовується для асинхронного створення сторінок. Коли ввімкнено, віджет опитує сервер із такими типово встановленими параметрами JavaScript:
| Опція | За замовчуванням |
|---|---|
retryInitialDelayMs | 250 |
retryBackoffFactor | 1.6 |
retryMaxDelayMs | 2500 |
retryMaxAttempts | 60 |
retryMaxTotalMs | 120000 |
Залишайте цю опцію вимкненою для звичайного переглядача. Увімкнення не може перетворити несумісний синхронний рендер у асинхронний.
Контрольний список шляхів
DoconutOptions.MiddlewarePathмає описувати гілку, яку ви фактично мапите.BasePathмає вказувати на цю гілку.DoconutOptions.ResourcesPath— це шлях до вбудованих ресурсів.ResPathзазвичай вказує на підпапку/images.ExtractHyperlinksмає бути ввімкнено у конфігурації формату сервера, перш ніжshowHyperlinksзможе щось відображати.
Чи була ця сторінка корисною?