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 | "/" | Куди переглядач надсилає запити сторінок. "/" — це обробник DocImage.axd у корені сайту. Для застосунку у віртуальному каталозі використовуйте назву каталогу без початкового / ("myapp" означає /myapp/DocImage.axd). |
string | ResPath | "doconut-res/images" | Тека, з якої віджет завантажує свої зображення: тека images у ResourcesPath, без початкового /. |
string | FitType | "width" | "width", "height" або порожньо — без автоматичного підгонювання. "page" не підтримується поточним віджетом. |
bool | RetryOn409 | false | Повторює запити сторінок, які відповідають «still rendering». DocImage.axd рендерить синхронно і ніколи не надсилає цей сигнал; залиште false. |
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 |
|---|---|
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" | Застаріле значення за замовчуванням. Встановіть явно: '/' для обробника в корені сайту. |
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: '/',
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 та його налаштування затримки (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зможе щось відображати.
Чи була ця сторінка корисною?