ViewerConfig

Параметри віджета переглядача клієнта

ViewerConfig (namespace Doconut) описує зовнішній вигляд та поведінку переглядача в браузері. Це не впливає на якість рендерингу документу; для цього використовуйте конфігурацію формату. Клас C# та довготривалий JavaScript віджет мають різні значення за замовчуванням, тому значення потрібно явно відображати.

Властивості C#

ТипВластивістьЗа замовчуваннямОпис
boolShowThumbstrueПоказувати панель мініатюр.
boolAutoLoadfalseАвтоматично завантажувати після ініціалізації. Звичайний потік токенів явно викликає View(token).
boolAutoFocustrueПеремістити фокус/прокрутку браузера до переглядача під час ініціалізації.
boolAutoPageFocustrueЗберігати поточну мініатюру видимою під час зміни сторінок.
intPageZoom100Початковий відсоток масштабування.
intZoomStep10Відсоток, який додається або віднімається командами масштабування.
intMaxZoom300Максимальний відсоток масштабування.
boolShowToolTiptrueПоказувати підказку позиції сторінки під час прокрутки.
stringToolTipPageText"Page "Префікс, що використовується в підказці сторінки.
boolCacheEnabledfalseЗберігати рухоме вікно зображень сторінок у пам'яті браузера. Не використовує localStorage.
boolLargeDocfalseДодавати елементи сторінок пакетами у часі для великих документів.
boolShowHyperlinksfalseВідображати накладки гіперпосилань, коли серверна конфігурація їх витягнула.
boolFixedZoomtrueВикористовувати фіксований відсоток масштабування замість адаптивного перерахунку.
intFixedZoomPercent100Фіксоване масштабування для настільних пристроїв.
intFixedZoomPercentMobile75Фіксоване масштабування для мобільних пристроїв.
stringBasePath"/"Куди переглядач надсилає запити сторінок. "/" — це DocImage.axd у корені сайту; інакше — гілка, де хост мапить UseDoconut(), без початкового / ("doconut" означає /doconut/DocImage.axd).
stringResPath"doconut-res/images" (26.9.0; "doconut-res" before)Папка, з якої віджет завантажує свої зображення: папка images у ResourcesPath, без початкового /.
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",           // без початкового '/': переглядач додає його ("/doconut" стало б //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 / 200JavaScript maxZoom відрізняється від 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 має вказувати на цю гілку, записаний без початкового / ('doconut', а не '/doconut': переглядач додає слеш, і //doconut/... є запитом до іншого хоста).
  • DoconutOptions.ResourcesPath — це маршрут вбудованих ресурсів.
  • ResPath зазвичай вказує на його підпапку images, також без початкового / ('doconut-res/images').
  • ExtractHyperlinks має бути ввімкнено у конфігурації формату сервера, перш ніж showHyperlinks зможе щось відображати.

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