查看器配置

客户端查看器小部件选项

ViewerConfig(命名空间 Doconut)描述了浏览器查看器的外观和行为。它不影响文档渲染质量;如需控制渲染,请使用格式配置。C# 类和历史悠久的 JavaScript 小部件默认值不同,需显式映射各值。

C# 属性

类型属性默认描述
boolShowThumbstrue显示缩略图面板。
boolAutoLoadfalse初始化后自动加载。普通的 token 流程会显式调用 View(token)
boolAutoFocustrue初始化时将浏览器焦点/滚动移动到查看器。
boolAutoPageFocustrue页面切换时保持当前缩略图可见。
intPageZoom100初始缩放百分比。
intZoomStep10缩放指令每次增加或减少的百分比。
intMaxZoom300最大缩放百分比。
boolShowToolTiptrue滚动时显示页面位置提示工具。
stringToolTipPageText"Page "页面提示工具中使用的前缀。
boolCacheEnabledfalse在浏览器内存中保留一个移动窗口的页面图像。它不使用 localStorage
boolLargeDocfalse对大文档以定时批次追加页面元素。
boolShowHyperlinksfalse当服务器配置提取了超链接时渲染超链接覆盖层。
boolFixedZoomtrue使用固定的缩放百分比,而不是响应式重新计算。
intFixedZoomPercent100固定的桌面端缩放。
intFixedZoomPercentMobile75固定的移动端缩放。
stringBasePath"/"主机映射 UseDoconut() 的分支路径。
stringResPath"doconut-res"小部件使用的资源基路径。正常设置时指向 <ResourcesPath>/images
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",
    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 主机必须显式设置映射的中间件分支。
ResPath""必须显式设置为嵌入的图像路径。
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3内存中页面预加载窗口及其延迟。
autoLoadfalse推荐使用显式 token 流程。
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注释 UI 已关闭。

保持回调执行快速;异步发送遥测数据,避免阻塞页面渲染。

公共方法组

常用方法
生命周期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 必须指向该分支。
  • DoconutOptions.ResourcesPath 是嵌入资源的路由。
  • ResPath 通常指向其 /images 子文件夹。
  • 必须在服务器的格式配置中启用 ExtractHyperlinksshowHyperlinks 才能显示任何内容。

此页面有帮助吗?