ViewerConfig

Tùy chọn widget trình xem khách hàng

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à plugin JavaScript kế thừa có các giá trị mặc định khác nhau, vì vậy hãy á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 sẽ 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 mà trình xem gửi yêu cầu trang. "/" là trình xử lý DocImage.axd tại gốc site. Đối với một ứng dụng trong thư mục ảo, sử dụng tên thư mục không có dấu / đầu ("myapp" có nghĩa là /myapp/DocImage.axd).
stringResPath"doconut-res/images"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 muốn tự động vừa. "page" không được widget hiện tại chấp nhận.
boolRetryOn409falseThử lại các yêu cầu trang trả lời “still rendering”. DocImage.axd render đồng bộ và không bao giờ gửi tín hiệu đó; để lại false.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "/",                 // "/" = the DocImage.axd handler at the site root (Web.config)
    ResPath = "doconut-res/images", // the images folder under ResourcesPath, no leading '/'
    ShowHyperlinks = true
};
// Emit it with viewer.RenderViewer("viewerEl", token, config) - see the Viewer reference.

Phát ra ViewerConfig với RenderViewer

Viewer.RenderViewer(elementId, token, config) chuyển một ViewerConfig thành script khởi tạo của widget. Nó ghi sáu thuộc tính ở trên — BasePath, ResPath, ShowThumbs, AutoLoad, PageZoom và FitType — và sau đó gọi View(token). Các thuộc tính khác không được ghi: đối với MaxZoom, ShowHyperlinks, các cài đặt thu phóng, hoặc bất kỳ callback nào, hãy tự khởi tạo widget bằng các tùy chọn JavaScript bên dưới. Xem Viewer để biết RenderViewer.

Ánh xạ C# sang JavaScript

Không truyền một ViewerConfig đã được tuần tự hoá trực tiếp vào docViewer(...). Hầu hết các khóa của widget là camelCase, trong khi ba khóa đường dẫn/fit đã được thiết lập là 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 so với lớp C#. Các giá trị sau được lấy 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 thu nhỏ.
showThumbstrueHiển thị thu nhỏ ban đầu.
autoFocus / autoPageFocustrue / falseautoPageFocus khác với mặc định của C#.
thumbWidth / thumbHeight / thumbPadding150 / 200 / 10Hình học thu nhỏ tính bằng pixel.
pageZoom / zoomStep / maxZoom100 / 10 / 200maxZoom của 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 nếu không được cung cấp.
BasePath"DocImage.axd"Mặc định kế thừa. Đặt rõ: '/' cho trình xử lý ở gốc site.
ResPath""Đặt rõ đường dẫn tới ảnh nhúng.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3Cửa sổ và độ trễ tải trước trang trong bộ nhớ.
autoLoadfalseKhuyến nghị luồng token rõ ràng.
largeDoctrueKhác với mặc định của C#.
fixedZoomfalseKhác với mặc định của 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: '/',
    ResPath: 'doconut-res/images',
    onViewerReady: function () {},
    onError: function (message) { console.error('DocViewer:', message); }
});
</script>

Các callback

CallbackĐối sốMục đích
onPageLoadingpageNumYêu cầu tải trang đang bắt đầu.
onPageLoadedpageNumHình ảnh trang đã tải xong.
onThumbnailClickedpageNumNgười dùng đã chọn một thu nhỏ.
onPageClickedpageNumNgười dùng đã chọn một trang.
onDoubleClicknoneTrình xem nhận được double-click.
onViewerBusynoneTrình xem vào trạng thái bận.
onViewerReadynoneKhởi tạo hoàn tất.
onViewerErrornoneTrình xem vào 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 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 callback nhanh; gửi telemetry bất đồng bộ và không chặn việc render trang.

Nhóm phương thức công cộng

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()
Định hướngRotate(page, angle), Flip(page, flipType)
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 hàm trợ giúp nội bộ. Chỉ coi các phương thức được UI tham chiếu sử dụng 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.

Tùy chọn thử lại

Widget cũng chấp nhận retryOn409 và các cài đặt backoff của nó (retryInitialDelayMs, retryBackoffFactor, retryMaxDelayMs, retryMaxAttempts, retryMaxTotalMs). Chúng phục vụ các triển khai mà các trang được tạo trong nền. DocImage.axd render mỗi trang trong quá trình yêu cầu, vì vậy hãy để retryOn409 tắt.

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

  • BasePath là '/' khi trình xử lý DocImage.axd nằm ở gốc site — thuộc tính path của trình xử lý trong Web.config quyết định nơi nó trả lời. Trong một thư mục ảo, sử dụng tên thư mục mà không có dấu / đầu ('myapp', không phải '/myapp': trình xem thêm dấu gạch chéo, và //myapp/... là một yêu cầu tới máy chủ khác).
  • DoconutOptions.ResourcesPath là nơi mô-đun tài nguyên phục vụ các tệp nhúng (/doconut-res theo mặc định).
  • ResPath chỉ tới thư mục con images của nó, cũng không có dấu / đầu ('doconut-res/images'). Đặt nó thành 'doconut-res' sẽ khiến mọi biểu tượng trả về 404 trong khi tài liệu vẫn được render.
  • Trong MVC, routes.IgnoreRoute("doconut-res/{*pathInfo}") phải được đặt sau ResourcesPath nếu bạn thay đổi nó.
  • 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 kỳ thứ gì.

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