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)위젯이 자체 이미지를 로드하는 폴더: ResourcesPath 아래의 images 폴더이며, 선행 / 없이.
stringFitType"width""width", "height" 또는 자동 맞춤을 사용하지 않을 경우 빈 문자열. 현재 위젯에서는 "page"를 허용하지 않습니다.
boolRetryOn409false비동기/분산 페이지 요청이 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#자바스크립트
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명시적 토큰 흐름을 권장합니다.
largeDoctrueC# 기본값과 다릅니다.
fixedZoomfalseC# 기본값과 다릅니다.
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 파일에는 내부 헬퍼도 포함됩니다. 여기 또는 기능 가이드에 문서화된 레퍼런스 UI에서 사용되는 메서드만 안정적인 통합 포인트로 간주하세요.

HTTP 409 후 재시도

retryOn409는 비동기 페이지 생성에 사용됩니다. 활성화되면 위젯이 다음 JavaScript 기본값으로 폴링합니다:

옵션기본값
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

일반 뷰어에서는 비활성화 상태로 두세요. 이를 활성화해도 지원되지 않는 동기 렌더링을 비동기로 만들 수 없습니다.

경로 체크리스트

  • DoconutOptions.MiddlewarePath는 실제로 매핑하는 브랜치를 설명해야 합니다.
  • BasePath는 해당 브랜치를 대상으로 해야 하며, 앞에 / 없이 작성합니다 ('doconut', '/doconut'가 아니라: 뷰어가 슬래시를 추가하고 //doconut/...는 다른 호스트에 대한 요청입니다).
  • DoconutOptions.ResourcesPath는 임베디드 리소스 경로입니다.
  • ResPath는 일반적으로 images 하위 폴더를 대상으로 하며, 앞에 / 없이 ('doconut-res/images') 작성합니다.
  • ExtractHyperlinks는 showHyperlinks가 무언가를 표시하기 전에 서버 포맷 설정에서 활성화되어야 합니다.

이 페이지가 도움이 되었나요?