ViewerConfig
클라이언트 뷰어 위젯 옵션
ViewerConfig (네임스페이스 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 | "/" | 호스트가 UseDoconut()을 매핑하는 브랜치. |
string | ResPath | "doconut-res" | 위젯에서 사용하는 리소스 기본 경로입니다. 일반 설정에서는 <ResourcesPath>/images를 가리키도록 합니다. |
string | FitType | "width" | `"width", "height" 또는 자동 맞춤을 하지 않으려면 빈 문자열을 사용합니다. 현재 위젯에서는 "page"를 허용하지 않습니다. |
bool | RetryOn409 | false | 비동기/분산 페이지 생성이 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 |
|---|---|
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 호스트는 매핑된 미들웨어 브랜치에 명시적으로 설정해야 합니다. |
ResPath | "" | 임베디드 이미지 경로로 명시적으로 설정합니다. |
cacheEnabled / cacheCount / cacheDelay | false / 3 / 3 | 메모리 내 페이지 사전 로드 윈도우 및 지연. |
autoLoad | false | 명시적인 토큰 흐름을 권장합니다. |
largeDoc | true | C# 기본값과 다릅니다. |
fixedZoom | false | C# 기본값과 다릅니다. |
fixedZoomPercent / fixedZoomPercentMobile | 100 / 50 | 모바일 값은 C# (75)와 다릅니다. |
showHyperlinks | true | 오버레이를 생성하려면 서버 측 추출이 필요합니다. |
동작에 중요한 모든 값을 명시적으로 설정하고, 기본값에만 의존하지 마세요:
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>콜백
| 콜백 | 인자 | 목적 |
|---|---|---|
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 | 주석 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 기본값으로 폴링합니다:
| 옵션 | 기본값 |
|---|---|
retryInitialDelayMs | 250 |
retryBackoffFactor | 1.6 |
retryMaxDelayMs | 2500 |
retryMaxAttempts | 60 |
retryMaxTotalMs | 120000 |
일반 뷰어에서는 비활성화된 상태로 두세요. 이를 활성화해도 지원되지 않는 동기 렌더링을 비동기로 바꿀 수 없습니다.
경로 체크리스트
DoconutOptions.MiddlewarePath는 실제 매핑하는 브랜치를 설명해야 합니다.BasePath는 해당 브랜치를 가리켜야 합니다.DoconutOptions.ResourcesPath는 임베디드 리소스 경로입니다.ResPath는 일반적으로/images하위 폴더를 가리킵니다.ExtractHyperlinks는showHyperlinks가 표시되기 전에 서버 포맷 구성에서 활성화되어야 합니다.
이 페이지가 도움이 되었나요?