Quy trình Kết xuất
Từ tài liệu đến hình ảnh trang
Giữa OpenDocumentAsync và PNG đến trình duyệt có hai giai đoạn riêng biệt: xác định trình xem (động cơ nào tải tài liệu, quyết định một lần mỗi lần mở) và xử lý trang (điều gì xảy ra với mỗi hình ảnh trang ở mỗi yêu cầu tới DocImage.axd). Hiểu cả hai giải thích tại sao một định dạng hiển thị như vậy — và DefaultRender thực sự chuyển đổi như thế nào.
Giai đoạn 1 — Xác định trình xem định dạng
Nhà máy ánh xạ phần mở rộng tệp tới một trình xem thông qua danh mục định dạng, với ba mức ưu tiên:
- Trình xem tùy chỉnh trước tiên. Bất cứ thứ gì bạn đăng ký với
DoconutOptions.RegisterViewer(extension, factory, defaultConfig?)sẽ thắng mọi trình xem tích hợp sẵn. - Trình xem gia đình tích hợp sẵn. Danh mục ánh xạ mỗi phần mở rộng có thể xem được tới một gia đình trình xem — Word, Excel, PowerPoint, Pdf, Cad, Dgn, Image, Tiff, Psd, Email, Visio, Project, Xps, Epub, Txt, Html, Mht, Dcn — mỗi gia đình có bộ điều hợp động cơ riêng. Nếu một plugin có giấy phép cung cấp trình xem cho cùng phần mở rộng, trình xem của plugin sẽ thay thế trình xem tích hợp sẵn.
- Định dạng chỉ có plugin. Một số phần mở rộng không có trình xem tích hợp sẵn — DICOM (
.dcm,.ima) chỉ tồn tại qua plugin DICOM. Mở một tệp như vậy mà không có khả năng cần thiết sẽ ném ra:
LicenseException: This document type requires the 'Dicom' plugin license.Một phần mở rộng không có trình xem nào khai báo sẽ gây ra FormatNotSupportedException.
Sau khi xác định, cấu hình được quyết định: đối tượng cấu hình rõ ràng của bạn nếu bạn đã truyền vào, nếu không thì cấu hình mặc định của định dạng từ danh mục. DocOptions.Password được sao chép vào cấu hình cho các tài liệu được bảo vệ.
Giai đoạn 1b — Chế độ chuyển hướng (DefaultRender = false)
Hầu hết các cấu hình theo định dạng đều cung cấp cờ DefaultRender. Nó chọn giữa hai lộ trình cơ bản khác nhau:
DefaultRender = true— tài liệu được kết xuất một cách tự nhiên, trực tiếp thành các hình ảnh trang.DefaultRender = false— tài liệu đầu tiên được chuyển đổi thành PDF trong bộ nhớ, động cơ nguồn được giải phóng, và một trình xem PDF tiếp quản. PDF được tạo chứa văn bản thực, vì vậy tìm kiếm toàn văn sẽ nhận được các đánh dấu nổi bật gốc; quy trình bậtAllowSearchvàAllowCopycho PDF chuyển hướng, vì việc chuyển đổi không hiển thị với người dùng.
XPS và MHT theo mặc định sử dụng lộ trình chuyển hướng. Một phép chiếu PDF cung cấp khả năng tìm kiếm gốc cho các định dạng như HTML và Microsoft Project. Nếu PDF tạo ra chứa hình ảnh mà không có lớp văn bản, những pixel đó không thể được tìm kiếm.
Sử dụng chế độ chuyển hướng khi bạn cần một phép chiếu có thể tìm kiếm, mang văn bản — với chi phí là việc chuyển đổi ngay khi tài liệu mở.
Giai đoạn 2 — Quy trình hình ảnh trang
Mỗi yêu cầu trang tới DocImage.axd thực hiện một chuỗi cố định:
raw page PNG → watermark → rotate/flip → scale → annotation burn → PNG to the response- Watermark — được áp dụng dựa trên trạng thái giấy phép (không có giấy phép, giấy phép tạm thời đã hết hạn hoặc giấy phép thuê bao, miền không hợp lệ, bản dựng ngoài các phiên bản của giấy phép) và từ
DocOptions.Watermarkcho văn bản tùy chỉnh của bạn. Một site có giấy phép nhưng không có watermark tùy chỉnh sẽ bỏ qua bước này. - Rotate/flip — trạng thái mỗi trang mà người dùng thiết lập trong widget (90°/180°/270°, lật ngang và dọc) được lưu trong phiên và áp dụng cho mọi lần kết xuất tiếp theo của trang đó.
- Scale — các ảnh thu nhỏ và mức thu phóng được tạo bằng cách thay đổi kích thước trang đã kết xuất theo kích thước yêu cầu.
- Annotation burn — các chú thích đã lưu được vẽ lên bitmap, vì vậy khi xuất và hình ảnh trang sẽ hiển thị chúng.
- Encoding — kết quả được mã hoá thành PNG và ghi trực tiếp vào phản hồi.
Các lỗi bên trong trình xử lý được trả về dưới dạng hình ảnh lỗi PNG (văn bản đỏ trên nền trắng) với mã trạng thái 200, thay vì các trang lỗi HTTP, để widget có thể hiển thị chúng trong khu vực trang.
Bộ nhớ đệm trang
BaseConfig.CachePages (mặc định true) giữ các hình ảnh trang đã kết xuất trong bộ nhớ trong suốt thời gian phiên tài liệu, vì vậy việc quay lại một trang sẽ không cần kết xuất lại. BaseConfig.ImageResolution (25–300 DPI, 0 = mặc định của định dạng) là công tắc chính cho chất lượng và bộ nhớ; mặc định của mỗi định dạng được liệt kê trong Format Configs.
Trên một nút đơn, các phiên và trang đã lưu trong bộ nhớ của tiến trình worker. Một lần tái chế pool ứng dụng — theo lịch, hoặc do chỉnh sửa Web.config hoặc do thời gian chờ không hoạt động — sẽ xóa mọi phiên tài liệu mở, và widget sẽ hiển thị Document session not found. Please re-open document. Trong chế độ phân tán (xem Sessions & Security), một phiên được xây dựng lại từ kho chia sẻ thay vì.
Nơi để điều chỉnh gì
| Bạn muốn | Điều chỉnh |
|---|---|
| Trang sắc nét hơn | ImageResolution trên cấu hình định dạng |
| Tìm kiếm văn bản chính xác trên HTML, EPUB, email, MHT, hoặc MPP | DefaultRender = false trên cấu hình định dạng |
| Giảm bộ nhớ cho tài liệu lớn | CachePages = false, và đóng phiên một cách rõ ràng |
| Dấu ấn riêng của bạn trên mỗi trang | DocOptions.Watermark |
Trang này có hữu ích không?