Đường ống Kết xuất
Từ tài liệu đến hình ảnh trang
Giữa OpenDocumentAsync và tệp PNG đến trình duyệt có hai giai đoạn riêng biệt: giải quyết trình xem (động cơ nào tải tài liệu, được quyết định một lần mỗi lần mở) và xử lý trang (những gì xảy ra với mỗi hình ảnh trang trong mỗi yêu cầu). 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 gì.
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 thành một trình xem thông qua danh mục định dạng, với ba cấp độ ưu tiên:
- Trình xem tùy chỉnh trước. Bất kỳ 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 thành một họ trình xem — Word, Excel, PowerPoint, Pdf, Cad, Dgn, Image, Tiff, Psd, Email, Visio, Project, Xps, Epub, Txt, Html, Mht, Dcn — mỗi cái có bộ điều hợp động cơ riêng. Nếu một plugin có giấy phép đóng góp một trình xem cho cùng phần mở rộng, trình xem plugin sẽ thay thế trình xem tích hợp sẵn.
AddDoconut()xác thực các quyền plugin đã đăng ký khi khởi động; việc quay lại trình xem tích hợp sẵn của nhà máy là một quy tắc thời gian chạy phòng thủ. - Đị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 nào — DICOM (
.dcm) chỉ tồn tại thông qua plugin DICOM. Mở một tệp mà không có khả năng cần thiết sẽ gây ra lỗi:
LicenseException: This document type requires the 'Dicom' plugin license.Một phần mở rộng không có trình xem nào sẽ gây ra lỗi:
FormatNotSupportedException: Document format '<extension>' is not supported.Sau khi xác định, cấu hình được thiết lập: đối tượng cấu hình mà bạn truyền vào nếu có, 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 một cờ DefaultRender. Nó chọn giữa hai đường đi cơ bản khác nhau:
DefaultRender = true— tài liệu được kết xuất nguyên bản, trực tiếp thành 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 nhúng văn bản thực, vì vậy tìm kiếm toàn văn nhận được các đánh dấu nguyên bản chính xác theo pixel; quy trình buộc 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à mặc định của danh mục cho MHT sử dụng đường chuyển hướng. Một phép chiếu PDF có thể cung cấp tìm kiếm nguyên bản cho các định dạng như HTML và Microsoft Project. Nếu PDF kết quả chứa hình ảnh không có lớp văn bản, trình xem tiêu chuẩn không thể tìm kiếm các pixel đó.
Sử dụng chế độ chuyển hướng khi bạn cần một phép chiếu PDF có chứa văn bản — với chi phí là việc chuyển đổi trước khi tài liệu mở.
Giai đoạn 2 — Quy trình hình ảnh trang
Các trang đã kết xuất được xử lý theo yêu cầu qua một chuỗi cố định:
PNG trang thô → đánh dấu bản quyền → xoay/lật → phóng tỷ lệ → đánh dấu chú thích → PNG tới phản hồi- Đánh dấu bản quyền — được áp dụng dựa trên trạng thái giấy phép (thiếu giấy phép, tạm thời hoặc đăng ký đã hết hạn, miền không hợp lệ, phiên bản sai) và từ
DocOptions.Watermarkcho văn bản tùy chỉnh của bạn. Ứng dụng có giấy phép hợp lệ — hoặc giấy phép Temporary đang hoạt động — không có watermark tùy chỉnh sẽ bỏ qua bước này. - Xoay/lật — trạng thái mỗi trang mà người dùng đặt trong widget (90°/180°/270°, lật ngang/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 đó.
- Phóng tỷ lệ — hì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 tới kích thước mục tiêu yêu cầu;
0có nghĩa là phục vụ ở kích thước gốc. - Đánh dấu chú thích — các chú thích đã lưu được vẽ lên bitmap để các xuất khẩu và hình ảnh trang hiển thị chúng.
- Mã hoá — kết quả được mã hoá thành PNG bằng các luồng bộ nhớ chung và ghi trực tiếp vào phản hồi HTTP.
Các lỗi trong middleware được trả về dưới dạng hình ảnh lỗi PNG (văn bản đỏ trên nền trắng) 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 định dạng) là công tắc chính về chất lượng/bộ nhớ; mặc định của mỗi định dạng được ghi chép trên trang cấu hình của nó.
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/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, đóng phiên một cách rõ ràng |
| Dấu của bạn trên mỗi trang | DocOptions.Watermark |
Trang này có hữu ích không?