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ểu | Thuộc tính | Mặc định | Mô tả |
|---|---|---|---|
bool | ShowThumbs | true | Hiển thị bảng điều khiển hình thu nhỏ. |
bool | AutoLoad | false | Tự độ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. |
bool | AutoFocus | true | Di 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. |
bool | AutoPageFocus | true | Giữ hình thu nhỏ hiện tại hiển thị khi các trang thay đổi. |
int | PageZoom | 100 | Phần trăm thu phóng ban đầu. |
int | ZoomStep | 10 | Phần trăm được thêm hoặc giảm bởi các lệnh thu phóng. |
int | MaxZoom | 300 | Phần trăm thu phóng tối đa. |
bool | ShowToolTip | true | Hiển thị tooltip vị trí trang khi cuộn. |
string | ToolTipPageText | "Page " | Tiền tố được sử dụng trong tooltip trang. |
bool | CacheEnabled | false | Giữ 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. |
bool | LargeDoc | false | Thêm các phần tử trang theo các lô thời gian cho tài liệu lớn. |
bool | ShowHyperlinks | false | Hiể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. |
bool | FixedZoom | true | Sử dụng phần trăm thu phóng cố định thay vì tính toán đáp ứng. |
int | FixedZoomPercent | 100 | Thu phóng cố định trên máy tính để bàn. |
int | FixedZoomPercentMobile | 75 | Thu phóng cố định trên thiết bị di động. |
string | BasePath | "/" | 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). |
string | ResPath | "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. |
string | FitType | "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. |
bool | RetryOn409 | false | Thử 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. |
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 |
|---|---|
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 |
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ọn | Mặc định | Ghi chú |
|---|---|---|
leftMinWidth / leftMaxWidth | 220 / 800 | Giới hạn độ rộng của khung thu nhỏ. |
showThumbs | true | Hiển thị thu nhỏ ban đầu. |
autoFocus / autoPageFocus | true / false | autoPageFocus khác với mặc định của C#. |
thumbWidth / thumbHeight / thumbPadding | 150 / 200 / 10 | Hình học thu nhỏ tính bằng pixel. |
pageZoom / zoomStep / maxZoom | 100 / 10 / 200 | maxZoom của JavaScript khác với C# (300). |
showToolTip / toolTipPageText | true / "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). |
debugMode | false | Chẩ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 / cacheDelay | false / 3 / 3 | Cửa sổ và độ trễ tải trước trang trong bộ nhớ. |
autoLoad | false | Khuyến nghị luồng token rõ ràng. |
largeDoc | true | Khác với mặc định của C#. |
fixedZoom | false | Khác với mặc định của C#. |
fixedZoomPercent / fixedZoomPercentMobile | 100 / 50 | Giá trị di động khác với C# (75). |
showHyperlinks | true | Yê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:
<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 |
|---|---|---|
onPageLoading | pageNum | Yêu cầu tải trang đang bắt đầu. |
onPageLoaded | pageNum | Hình ảnh trang đã tải xong. |
onThumbnailClicked | pageNum | Người dùng đã chọn một thu nhỏ. |
onPageClicked | pageNum | Người dùng đã chọn một trang. |
onDoubleClick | none | Trình xem nhận được double-click. |
onViewerBusy | none | Trình xem vào trạng thái bận. |
onViewerReady | none | Khởi tạo hoàn tất. |
onViewerError | none | Trình xem vào trạng thái lỗi. |
onError | message | Một thao tác trả về thông báo lỗi. |
onCopy | data | Dữ liệu sao chép văn bản có sẵn. |
onAutoLoadStatus | pageNum | Tự động tải tiến tới một trang. |
onThumbsShown | none | Bảng thu nhỏ trở nên hiển thị. |
onAnnLoaded | none | Dữ liệu chú thích đã tải. |
onAnnSaved | none | Dữ liệu chú thích đã lưu. |
onAnnSaveError | none | Lưu chú thích thất bại. |
onAnnClosed | none | Giao 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óm | Phương thức chung |
|---|---|
| Vòng đời | View(token, accessToken?), Close(server?), Token(), Init(), IsLoaded() |
| Điều hướng | GotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages() |
| Phóng to và vừa | Zoom(zoomIn), CurrentZoom(), FitType(value), Refit() |
| Định hướng | Rotate(page, angle), Flip(page, flipType) |
| Thu nhỏ | HideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb) |
| Tìm kiếm | CanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...) |
| Chú thích | SaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...) |
| Sao chép | Copy(...), 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
BasePathlà'/'khi trình xử lýDocImage.axdnằm ở gốc site — thuộc tínhpathcủa trình xử lý trongWeb.configquyế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.ResourcesPathlà nơi mô-đun tài nguyên phục vụ các tệp nhúng (/doconut-restheo mặc định).ResPathchỉ tới thư mục conimagescủ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 sauResourcesPathnếu bạn thay đổi nó. ExtractHyperlinksphải được bật trong cấu hình định dạng máy chủ trước khishowHyperlinkscó thể hiển thị bất kỳ thứ gì.
Trang này có hữu ích không?