ViewerConfig

Các tùy chọn widget trình xem phía máy khách

ViewerConfig (namespace Doconut) mô tả giao diện và hành vi của trình xem trong trình duyệt. Nó không ảnh hưởng đến chất lượng hiển thị tài liệu; hãy sử dụng cấu hình định dạng cho mục đích đó. Lớp C# và widget JavaScript lâu đời có các giá trị mặc định khác nhau, vì vậy cần ánh xạ các giá trị một cách rõ ràng.

Thuộc tính C#

KiểuThuộc tínhMặc địnhMô tả
boolShowThumbstrueHiển thị bảng điều khiển hình thu nhỏ.
boolAutoLoadfalseTự động tải sau khi khởi tạo. Luồng token thông thường gọi View(token) một cách rõ ràng.
boolAutoFocustrueDi chuyển tiêu điểm/cuộn của trình duyệt tới trình xem trong quá trình khởi tạo.
boolAutoPageFocustrueGiữ hình thu nhỏ hiện tại hiển thị khi các trang thay đổi.
intPageZoom100Phần trăm thu phóng ban đầu.
intZoomStep10Phần trăm được thêm hoặc giảm bởi các lệnh thu phóng.
intMaxZoom300Phần trăm thu phóng tối đa.
boolShowToolTiptrueHiển thị tooltip vị trí trang khi cuộn.
stringToolTipPageText"Page "Tiền tố được sử dụng trong tooltip trang.
boolCacheEnabledfalseGiữ một cửa sổ di động của các hình ảnh trang trong bộ nhớ trình duyệt. Nó không sử dụng localStorage.
boolLargeDocfalseThêm các phần tử trang theo các lô thời gian cho tài liệu lớn.
boolShowHyperlinksfalseHiển thị lớp phủ siêu liên kết khi cấu hình máy chủ đã trích xuất chúng.
boolFixedZoomtrueSử dụng phần trăm thu phóng cố định thay vì tính toán đáp ứng.
intFixedZoomPercent100Thu phóng cố định trên máy tính để bàn.
intFixedZoomPercentMobile75Thu phóng cố định trên thiết bị di động.
stringBasePath"/"Nơi trình xem gửi yêu cầu trang. "/" là DocImage.axd ở gốc site; nếu không, là nhánh nơi host ánh xạ UseDoconut(), không có dấu / ở đầu ("doconut" có nghĩa là /doconut/DocImage.axd).
stringResPath"doconut-res/images" (26.9.0; "doconut-res" before)Thư mục mà widget tải các hình ảnh của nó: thư mục images dưới ResourcesPath, không có dấu / ở đầu.
stringFitType"width""width", "height", hoặc để trống nếu không tự động vừa. "page" không được widget hiện tại chấp nhận.
boolRetryOn409falseBật polling khi việc tạo trang bất đồng bộ/phân tán trả về 202 Accepted; 409 cũng được chấp nhận để tương thích với các máy chủ cũ. Không cần thiết cho trình xem đồng bộ thông thường.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "doconut",           // không có dấu '/' ở đầu: trình xem sẽ thêm vào ("/doconut" sẽ trở thành //doconut, một host khác)
    ResPath = "doconut-res/images",
    ShowHyperlinks = true
};

Ánh xạ C# sang JavaScript

Không nên truyền một đối tượng ViewerConfig đã được tuần tự hoá trực tiếp vào docViewer(...). Hầu hết các khóa của widget sử dụng camelCase, trong khi ba khóa liên quan đến đường dẫn/kiểu vừa được định nghĩa bằng PascalCase.

C#JavaScript
ShowThumbsshowThumbs
AutoLoadautoLoad
AutoFocusautoFocus
AutoPageFocusautoPageFocus
PageZoompageZoom
ZoomStepzoomStep
MaxZoommaxZoom
ShowToolTipshowToolTip
ToolTipPageTexttoolTipPageText
CacheEnabledcacheEnabled
LargeDoclargeDoc
ShowHyperlinksshowHyperlinks
FixedZoomfixedZoom
FixedZoomPercentfixedZoomPercent
FixedZoomPercentMobilefixedZoomPercentMobile
BasePathBasePath
ResPathResPath
FitTypeFitType
RetryOn409retryOn409

Mặc định JavaScript

Widget có các mặc định cũ hơn khác với lớp C#. Các giá trị sau đây đến từ triển khai hiện tại của docViewer.js.

Tùy chọnMặc địnhGhi chú
leftMinWidth / leftMaxWidth220 / 800Giới hạn độ rộng của khung hình thu nhỏ.
showThumbstrueHiển thị hình thu nhỏ ban đầu.
autoFocus / autoPageFocustrue / falseautoPageFocus khác với mặc định C#.
thumbWidth / thumbHeight / thumbPadding150 / 200 / 10Hình học hình thu nhỏ tính bằng pixel.
pageZoom / zoomStep / maxZoom100 / 10 / 200maxZoom trong JavaScript khác với C# (300).
showToolTip / toolTipPageTexttrue / "Page "Tooltip vị trí trang.
format / doc / AccessToken"" / 0 / ""Giá trị khởi tạo nội bộ; thường được điền bởi View(token).
debugModefalseChẩn đoán bổ sung cho client.
FitType""Không tự động vừa khung trừ khi được cung cấp.
BasePath"DocImage.axd"Mặc định lịch sử của client được giữ lại để tương thích. Các máy chủ ASP.NET Core hiện tại phải đặt nó một cách rõ ràng tới nhánh middleware đã ánh xạ.
ResPath""Đặt một cách rõ ràng tới đường dẫn ảnh nhúng.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3Cửa sổ và độ trễ tải trước trang trong bộ nhớ.
autoLoadfalseKhuyến nghị sử dụng luồng token rõ ràng.
largeDoctrueKhác với mặc định C#.
fixedZoomfalseKhác với mặc định C#.
fixedZoomPercent / fixedZoomPercentMobile100 / 50Giá trị di động khác với C# (75).
showHyperlinkstrueYêu cầu trích xuất phía máy chủ để tạo lớp phủ.

Đặt tất cả các giá trị quan trọng về hành vi thay vì dựa vào bất kỳ bộ mặc định nào:

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>

Các hàm gọi lại

Hàm gọi lạiĐối sốMục đích
onPageLoadingpageNumMột yêu cầu trang đang bắt đầu.
onPageLoadedpageNumHình ảnh trang đã tải xong.
onThumbnailClickedpageNumNgười dùng đã chọn một hình thu nhỏ.
onPageClickedpageNumNgười dùng đã chọn một trang.
onDoubleClicknoneTrình xem nhận được một cú nhấp đôi.
onViewerBusynoneTrình xem chuyển sang trạng thái bận.
onViewerReadynoneKhởi tạo hoàn tất.
onViewerErrornoneTrình xem chuyển sang trạng thái lỗi.
onErrormessageMột thao tác trả về thông báo lỗi.
onCopydataDữ liệu sao chép văn bản có sẵn.
onAutoLoadStatuspageNumTự động tải tiến tới một trang.
onThumbsShownnoneBảng điều khiển hình thu nhỏ trở nên hiển thị.
onAnnLoadednoneDữ liệu chú thích đã tải.
onAnnSavednoneDữ liệu chú thích đã lưu.
onAnnSaveErrornoneLưu chú thích thất bại.
onAnnClosednoneGiao diện chú thích đã đóng.

Giữ các hàm gọi lại nhanh; gửi dữ liệu telemetry một cách bất đồng bộ và không chặn việc render trang.

Các nhóm phương thức công khai

NhómPhương thức chung
Vòng đờiView(token, accessToken?), Close(server?), Token(), Init(), IsLoaded()
Điều hướngGotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages()
Phóng to và vừaZoom(zoomIn), CurrentZoom(), FitType(value), Refit()
HướngRotate(page, angle), Flip(page, flipType)
Hình thu nhỏHideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb)
Tìm kiếmCanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...)
Chú thíchSaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...)
Sao chépCopy(...), CopyPage(pageNumber), CopyMode(enabled)

Tệp JavaScript cũng chứa các trợ giúp nội bộ. Chỉ coi các phương thức được UI tham chiếu và được tài liệu ở đây hoặc trong các hướng dẫn tính năng là các điểm tích hợp ổn định.

Thử lại khi một trang phân tán vẫn đang được render

retryOn409 giữ nguyên tên lịch sử của nó. Nó dùng cho việc tạo trang bất đồng bộ và thử lại phản hồi sẵn sàng 202 Accepted hiện tại cũng như tín hiệu 409 Conflict cũ hơn. Khi bật, widget sẽ thực hiện polling với các giá trị mặc định JavaScript sau:

Tùy chọnMặc định
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

Để nó tắt đối với trình xem bình thường. Bật nó không thể biến một việc render đồng bộ không được hỗ trợ thành bất đồng bộ.

Danh sách kiểm tra đường dẫn

  • DoconutOptions.MiddlewarePath phải mô tả nhánh mà bạn thực sự ánh xạ.
  • BasePath phải hướng tới nhánh đó, được viết mà không có dấu / ở đầu ('doconut', không phải '/doconut': trình xem sẽ thêm dấu gạch chéo, và //doconut/... là một yêu cầu tới máy chủ khác).
  • DoconutOptions.ResourcesPath là đường dẫn tài nguyên nhúng.
  • ResPath thường hướng tới thư mục con images của nó, cũng không có dấu / ở đầu ('doconut-res/images').
  • ExtractHyperlinks phải được bật trong cấu hình định dạng máy chủ trước khi showHyperlinks có thể hiển thị bất cứ thứ gì.

Trang này có hữu ích không?