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 | "/" | Куди переглядач надсилає запити сторінок. "/" — це DocImage.axd у корені сайту; інакше — гілка, де хост мапить UseDoconut(), без початкового / ("doconut" означає /doconut/DocImage.axd). |
string | ResPath | "doconut-res/images" (26.9.0; "doconut-res" before) | Папка, з якої віджет завантажує свої зображення: папка images у ResourcesPath, без початкового /. |
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", // без початкового '/': переглядач додає його ("/doconut" стало б //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 | JavaScript maxZoom відрізняється від 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має вказувати на цю гілку, записаний без початкового/('doconut', а не'/doconut': переглядач додає слеш, і//doconut/...є запитом до іншого хоста).DoconutOptions.ResourcesPath— це маршрут вбудованих ресурсів.ResPathзазвичай вказує на його підпапкуimages, також без початкового/('doconut-res/images').ExtractHyperlinksмає бути ввімкнено у конфігурації формату сервера, перш ніжshowHyperlinksзможе щось відображати.
Чи була ця сторінка корисною?