ViewerConfig

클라이언트 뷰어 위젯 옵션

ViewerConfig (네임스페이스 Doconut)는 브라우저 뷰어의 외관 및 동작을 설명합니다. 문서 렌더링 품질에는 영향을 주지 않으며, 이를 위해서는 포맷 구성을 사용하십시오. C# 클래스와 오래된 JavaScript 위젯은 기본값이 다르므로 값을 명시적으로 매핑해야 합니다.

C# 속성

유형속성기본값설명
boolShowThumbstrue썸네일 패널을 표시합니다.
boolAutoLoadfalse초기화 후 자동으로 로드합니다. 일반 토큰 흐름은 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명시적인 토큰 흐름을 권장합니다.
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에서 사용되는 메서드만을 안정적인 통합 포인트로 간주하십시오.

페이지가 아직 렌더링 중일 때 재시도

retryOn409는 기존 이름을 유지합니다. 비동기 페이지 생산을 위해 현재 202 Accepted 응답과 이전 409 Conflict 신호를 모두 재시도합니다. 활성화하면 위젯은 다음 JavaScript 기본값으로 폴링합니다:

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

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

경로 체크리스트

  • DoconutOptions.MiddlewarePath는 실제 매핑하는 브랜치를 설명해야 합니다.
  • BasePath는 해당 브랜치를 가리켜야 합니다.
  • DoconutOptions.ResourcesPath는 임베디드 리소스 경로입니다.
  • ResPath는 일반적으로 /images 하위 폴더를 가리킵니다.
  • ExtractHyperlinksshowHyperlinks가 표시되기 전에 서버 포맷 구성에서 활성화되어야 합니다.

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