Cấu hình Định dạng
Tùy chọn hiển thị đầy đủ cho từng định dạng
Mỗi tài liệu được mở bằng một triển khai BaseConfig. Hãy truyền một đối tượng vào OpenDocumentAsync hoặc để danh mục định dạng tạo mặc định. Tất cả các lớp dưới đây nằm trong không gian tên Doconut.
var token = await viewer.OpenDocumentAsync(path, new PdfConfig
{
AllowSearch = true,
AllowCopy = true,
ImageResolution = 150
});Kế thừa và cài đặt PDF lồng nhau
Mỗi định dạng kế thừa năm thuộc tính BaseConfig. Các định dạng có thể chuyển hướng qua PDF sẽ hiển thị một PdfConfig lồng nhau. Trong WordConfig, ExcelConfig và PptConfig, AllowSearch và AllowCopy là các thuộc tính tiện lợi để đọc và ghi PdfConfig lồng nhau.
DefaultRender = true chọn bộ render định dạng gốc. Đối với các định dạng có chuyển hướng PDF, false sẽ chuyển đổi sang PDF trong bộ nhớ trước và sau đó sử dụng trình xem PDF. Đường dẫn này thường hữu ích cho việc tìm kiếm theo tọa độ văn bản, nhưng sẽ tốn thêm một lần chuyển đổi.
Trừ khi có ghi chú ngược lại, các bảng dưới đây hiển thị các giá trị mặc định của hàm khởi tạo/thuộc tính. Danh mục định dạng tự động cố ý ghi đè hai trong số chúng: nó tạo ExcelConfig với SplitWorksheets = true, và MhtConfig với DefaultRender = false.
BaseConfig
| Kiểu | Thuộc tính | Mặc định | Hành vi |
|---|---|---|---|
int | ImageResolution | 0 | 0 sử dụng mặc định của định dạng. Phạm vi hợp lệ là 25‑300 DPI; các giá trị không hợp lệ sẽ bị bỏ qua. |
string | DocumentCulture | "" | Ngôn ngữ cho ngày tháng và số. Các giá trị không rỗng sẽ được cắt bỏ khoảng trắng; các giá trị rỗng sẽ bị bỏ qua. |
string | Password | "" | Mật khẩu tài liệu được bảo vệ. DocOptions.Password sẽ được sao chép tự động vào đây. |
bool | ShowUI | true | Thuộc tính tương thích; bộ render hiện tại không sử dụng nó để điều khiển thanh công cụ trình duyệt. |
bool | CachePages | true | Lưu trữ bộ nhớ đệm các hình ảnh trang đã render cho phiên làm việc của tài liệu. |
PdfConfig
Định dạng: PDF. DPI mặc định: 200.
| Kiểu | Thuộc tính | Mặc định | Hành vi |
|---|---|---|---|
bool | DefaultRender | true | Công tắc tương thích. Nhà máy hiện tại sử dụng trình xem PDF gốc. |
bool | AllowSearch | false | Xây dựng/sử dụng chỉ mục tìm kiếm văn bản PDF. Yêu cầu khả năng giấy phép Search cho các yêu cầu. |
bool | AllowCopy | false | Cho phép các thao tác chọn và sao chép văn bản. |
bool | ExtractHyperlinks | false | Trích xuất các hình chữ nhật liên kết cho lớp phủ phía khách. |
int | HyperlinksPageCount | 0 | Số trang tối đa được quét để tìm liên kết; 0 nghĩa là mọi trang. |
bool | CompressImages | false | Nén các hình ảnh nhúng trước khi render. |
int | CompressQuality | 100 | Chất lượng JPEG được sử dụng khi bật nén. |
bool | ResizeImages | false | Thay đổi kích thước các hình ảnh nhúng trước khi render. |
int | ResizeResolution | 300 | DPI mục tiêu cho các hình ảnh đã thay đổi kích thước. |
bool | CompressFast | false | Ưu tiên đường dẫn nén nhanh hơn, chất lượng thấp hơn. |
bool | FixInvalidImages | false | Cố gắng sửa chữa các hình ảnh nhúng không hợp lệ. |
bool | SplitSegments | false | Nối lại các từ bị tách qua các đoạn dòng để cải thiện tìm kiếm/ sao chép. |
showHyperlinks trong ViewerConfig điều khiển lớp phủ phía khách, trong khi ExtractHyperlinks điều khiển việc trích xuất phía máy chủ. Hãy bật cả hai.
WordConfig
Định dạng: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. DPI mặc định: 200.
| Kiểu | Thuộc tính | Mặc định | Hành vi |
|---|---|---|---|
bool | DefaultRender | true | Render Word gốc; false sử dụng chuyển hướng PDF. |
PdfConfig | PdfConfig | new instance | Cài đặt được sử dụng cho đường dẫn PDF/tìm kiếm. |
DocPaperSize | PaperSize | A4 | Kích thước giấy đầu ra. Dùng Custom với chiều rộng/chiều cao. |
int | PaperWidth | 595 | Chiều rộng tùy chỉnh tính bằng point. |
int | PaperHeight | 841 | Chiều cao tùy chỉnh tính bằng point. |
bool | RemovePaperMargin | false | Loại bỏ lề trang của tài liệu. |
bool | RenderPageColor | true | Giữ màu trang được cấu hình trong Word; false sẽ render trang trắng. |
bool | ExportPdfA | false | Sử dụng PDF/A lưu trữ trên đường PDF. |
Encoding? | FileEncoding | null | Ghi đè mã hoá nguồn. |
string | FontInfo | "" | Thông tin thay thế phông chữ. |
string[]? | FontFolders | null | Thư mục phông chữ bổ sung, đặc biệt hữu ích trên Linux/container. |
bool | AllowSearch | false | Ủy quyền cho PdfConfig.AllowSearch. |
bool | AllowCopy | false | Ủy quyền cho PdfConfig.AllowCopy. |
TableAutoFitBehavior | AutoFitAllTables | None | None, AutoFitToContents, hoặc AutoFitToWindow. |
ExcelConfig
Định dạng: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. DPI mặc định: 200.
| Kiểu | Thuộc tính | Mặc định | Hành vi |
|---|---|---|---|
bool | DefaultRender | true | Render sheet gốc; false sử dụng chuyển hướng PDF. |
PdfConfig | PdfConfig | new instance | Cài đặt cho đường PDF/tìm kiếm. |
ExcelPaperSize | PaperSize | PaperA4 | Kích thước giấy đầu ra. |
double | PaperMargins | 0.25 | Lề trang tính bằng inch. |
bool | PaperLandscape | true | Render sheet theo chế độ ngang. |
bool | AutoFitContents | false | Tự động điều chỉnh chiều cao dòng và chiều rộng cột. |
bool | RemoveEmptyContent | true | Thu hẹp đầu ra bằng cách loại bỏ nội dung trống. |
bool | CalculateFormula | true | Tính lại công thức trước khi render. |
bool | ShowRowColumnHeaders | true | Bao gồm tiêu đề hàng và cột. |
bool | ExportPdfA | false | Sử dụng PDF/A trên đường PDF. |
bool | SplitWorksheets | false | Giữ các worksheet thành các nhóm trang riêng biệt. |
bool | ShowEmptyWorkSheets | false | Bao gồm các worksheet trống. |
bool | ExportLandscape | false | Buộc xuất ở chế độ ngang. |
bool | ExportOnePagePerSheet | false | Đưa mỗi worksheet vào một trang đầu ra. |
bool | MemoryOptimizationPreference | true | Giảm mức sử dụng bộ nhớ tối đa, có thể đổi lấy một chút tốc độ. |
bool | AutoTrimWorksheetRenderRange | true | Chỉ render phạm vi đã sử dụng hiển thị khi không có khu vực in rõ ràng. |
bool | AutoTrimPreserveExistingPrintArea | true | Bảo tồn các khu vực in được định nghĩa trong workbook khi tự động cắt. |
string? | PrintArea | null | Phạm vi rõ ràng như "A1:Z100". |
bool | PrintGridlines | false | In lưới worksheet. |
bool | PrintHeadings | false | In tiêu đề hàng/cột. |
List<string> | SheetNames | empty | Hạn chế render chỉ các worksheet có tên. |
CustomStyleCell? | CustomStyles | null | Ghi đè tùy chọn định dạng ngày/thập phân/số nguyên. |
bool | AllowSearch | false | Ủy quyền cho PdfConfig.AllowSearch. |
bool | AllowCopy | false | Ủy quyền cho PdfConfig.AllowCopy. |
CustomStyleCell cung cấp CustomStyleDateTime, CustomStyleNumberDecimal và CustomStyleNumberInteger, tất cả đều là chuỗi nullable.
new ExcelConfig() đặt SplitWorksheets thành false; khi mở file Excel mà không có cấu hình rõ ràng, danh mục định dạng sẽ tạo nó với true.
PptConfig
Định dạng: PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP. DPI mặc định: 200.
| Kiểu | Thuộc tính | Mặc định | Hành vi |
|---|---|---|---|
bool | DefaultRender | true | Render slide gốc; false sử dụng chuyển hướng PDF. |
bool | FastLoad | false | Tránh render slide đầu tiên khi mở; dùng siêu dữ liệu và render khi cần. |
PdfConfig | PdfConfig | new instance | Cài đặt cho hành vi PDF/tìm kiếm. |
string | FontInfo | "" | Thông tin thay thế phông chữ. |
string[]? | FontFolders | null | Thư mục phông chữ bổ sung. |
bool | AllowSearch | false | Ủy quyền cho PdfConfig.AllowSearch. |
bool | AllowCopy | false | Ủy quyền cho PdfConfig.AllowCopy. |
Trên Linux và macOS, việc render bản trình chiếu với engine hiện tại yêu cầu libgdiplus và System.Drawing.EnableUnixSupport=true. Cài đặt các phông chữ được bản trình chiếu sử dụng hoặc cung cấp FontFolders.
CadConfig
Định dạng: DWG, DXF, DGN. DPI mặc định: 200.
| Kiểu | Thuộc tính | Mặc định | Hành vi |
|---|---|---|---|
bool | DefaultRender | true | Render CAD gốc; false sử dụng chuyển hướng PDF. |
PdfConfig | PdfConfig | new instance | Cài đặt cho đường PDF. |
bool | ExportPdfA | false | Đầu ra PDF/A lưu trữ. |
bool | ShowColor | true | Màu thay vì đen trắng. |
bool | WhiteBackground | true | Nền trắng thay vì nền đen. |
short | LineWidth | 25 | Độ rộng nét CAD. |
bool | ShowLayouts | false | Render các tab layout. |
bool | ShowModel | true | Render không gian mô hình. |
bool | Check3DSolid | true | Xử lý các khối 3D. |
bool | ExportAllLayouts | false | Xuất tất cả layout, ghi đè lựa chọn model/layout. |
bool | LimitMinimumSize | false | Áp dụng MinimumSize. |
int | MinimumSize | 700 | Kích thước đầu ra tối thiểu tính bằng pixel. |
bool | LimitMaximumSize | false | Áp dụng MaximumSize. |
int | MaximumSize | 700 | Kích thước đầu ra tối đa tính bằng pixel. |
bool | ShowAllLayoutsDgn | false | Bao gồm tất cả layout DGN. |
bool | AutomaticLayoutScaling | true | Tự động thu phóng layout. |
float | PdfMargins | 0.5 | Lề PDF tính bằng inch. |
RenderQuality | QualityImage | Low | Chất lượng raster: Low, Medium, hoặc High. |
RenderQuality | QualityText | Medium | Chất lượng văn bản: Low, Medium, hoặc High. |
EmailConfig
Định dạng: EML, EMLX, MSG. DPI mặc định: 200.
| Kiểu | Thuộc tính | Mặc định | Hành vi |
|---|---|---|---|
bool | DefaultRender | true | Render email gốc; false sử dụng chuyển hướng PDF. |
PdfConfig | PdfConfig | new instance | Cài đặt cho đường PDF. |
Encoding? | EmailEncoding | null | Ghi đè mã hoá tin nhắn. |
Encoding? | SubjectEncoding | null | Ghi đè mã hoá tiêu đề. |
Encoding? | BodyEncoding | null | Ghi đè mã hoá nội dung. |
bool | SkipExternalImages | false | Không tải các hình ảnh được tham chiếu từ xa. Được khuyến nghị cho email không tin cậy. |
bool | RemoveLastWhitePage | false | Loại bỏ trang trắng cuối cùng. |
bool | UseAntiAliasing | false | Bật khử răng cưa. |
bool | UseHighQualityRendering | false | Ưu tiên render sạch hơn, chậm hơn. |
TimeSpan? | TimeZoneOffset | null | Ghi đè múi giờ được dùng cho ngày tháng. |
bool | ForcePageSize | false | Buộc kích thước trang cố định. |
ImageConfig, TiffConfig và PsdConfig
ImageConfig bao gồm JPG, JPEG, JPE, PNG, BMP, GIF, ICO, EPS, TGA, WEBP, CDR, CMX, DNG, EMF, WMF, AVIF và SVG. DPI mặc định của nó là 100.
| Cấu hình | Thuộc tính | Mặc định | Hành vi |
|---|---|---|---|
ImageConfig | MaxImagePixelSize | 3000 | Độ rộng/chiều cao tối đa. 0 nghĩa là không giới hạn; các giá trị không zero dưới 50 sẽ bị bỏ qua. |
ImageConfig | TransparentPng | true | Giữ độ trong suốt PNG; false sử dụng nền trắng. |
TiffConfig | không có thuộc tính bổ sung | DPI 200 | Chỉ sử dụng BaseConfig; hỗ trợ TIFF đa trang. |
PsdConfig | MaxImagePixelSize | 3000 | Cùng kiểm tra 0/tối thiểu‑50 như ImageConfig; DPI mặc định là 100. |
DicomConfig
Định dạng: DCM, IMA. DPI hiệu quả mặc định: 100. Yêu cầu plugin DICOM.
| Kiểu | Thuộc tính | Mặc định | Hành vi |
|---|---|---|---|
int | HorizontalResolution | 100 effective | DPI ngang rõ ràng; nếu không có sẽ dùng ImageResolution, sau đó là 100. |
int | VerticalResolution | 100 effective | DPI dọc rõ ràng; nếu không có sẽ dùng ImageResolution, sau đó là 100. |
int | AnimationFrameDelayMs | 100 | Độ trễ khung đa khung; thời gian GIF dùng đơn vị 10 ms. |
ushort | LoopCount | 0 | 0 lặp vô hạn; giá trị dương sẽ dừng sau số vòng lặp đó. |
DicomDisplayMode | DisplayMode | AnimationAndFrames | AnimationOnly, FramesOnly, hoặc tổng quan kết hợp + khung tĩnh. |
TxtConfig
Định dạng: TXT. DPI mặc định: 200.
| Kiểu | Thuộc tính | Mặc định | Hành vi |
|---|---|---|---|
DocPaperSize | PaperSize | A4 | Kích thước giấy đầu ra. |
Encoding? | FileEncoding | null | null sử dụng UTF‑8. |
string | FontInformation | "" | Thông tin phông chữ cho việc render văn bản. |
Sử dụng WordConfig khi văn bản thuần cần hành vi bố cục trang phong phú hơn.
ProjectConfig
Định dạng: MPP, MPPX, MPX. DPI mặc định: 200.
| Kiểu | Thuộc tính | Mặc định | Hành vi |
|---|---|---|---|
bool | DefaultRender | true | Hình ảnh Gantt gốc; false sử dụng đường PDF dựa trên văn bản. |
PdfConfig | PdfConfig | new instance | Cài đặt cho đường PDF. |
bool | ExportPdfA | true | Đầu ra PDF/A lưu trữ. |
MppPaperSize | PaperSize | Ledger | Kích thước giấy đầu ra cho dự án. |
MppTimeScale | TimeScale | Months | Days hoặc Months. |
MppFormat | PresentationFormat | GanttChart | GanttChart, TaskUsage, ResourceUsage, ResourceSheet, hoặc TaskSheet. |
Đối với tìm kiếm theo tọa độ văn bản chính xác, hãy dùng DefaultRender = false.
VisioConfig
Định dạng: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. DPI mặc định: 200.
| Kiểu | Thuộc tính | Mặc định | Hành vi |
|---|---|---|---|
bool | DefaultRender | true | Render sơ đồ gốc; false sử dụng chuyển hướng PDF. |
PdfConfig | PdfConfig | new instance | Cài đặt cho đường PDF. |
bool | ExportPdfA | true | Đầu ra PDF/A lưu trữ. |
HtmlConfig, EpubConfig, MhtConfig và XpsConfig
Bốn cấu hình này đều mặc định DPI 200 và cung cấp một PdfConfig lồng nhau.
| Cấu hình | Định dạng | DefaultRender | Thuộc tính/hành vi bổ sung |
|---|---|---|---|
HtmlConfig | HTML, HTM | true | Render gốc; dùng false cho đường PDF dựa trên văn bản để tìm kiếm. |
EpubConfig | EPUB | true | Render gốc; false sử dụng PDF. |
MhtConfig | MHT, MHTML | true trên lớp; false trong danh mục tự động | Mở không có cấu hình sẽ sử dụng chuyển hướng PDF có khả năng tìm kiếm. Một thể hiện mặc định được tạo rõ ràng sẽ render gốc. |
XpsConfig | XPS | false | Mặc định sử dụng đường PDF; đặt true để render hình ảnh gốc. |
Ví dụ cấu hình theo họ
BaseConfig[] configs =
[
new PdfConfig
{
AllowSearch = true,
ExtractHyperlinks = true,
HyperlinksPageCount = 0
},
new WordConfig
{
PaperSize = DocPaperSize.A4,
RemovePaperMargin = false,
FontFolders = ["/usr/share/fonts/truetype"],
AllowSearch = true
},
new ExcelConfig
{
PaperLandscape = true,
AutoFitContents = true,
CalculateFormula = true,
SplitWorksheets = false,
PrintGridlines = false
},
new PptConfig
{
FastLoad = true,
FontFolders = ["/usr/share/fonts/truetype"],
AllowSearch = true
},
new CadConfig
{
ShowColor = true,
WhiteBackground = true,
ShowModel = true,
ShowLayouts = false,
QualityText = CadConfig.RenderQuality.High
},
new EmailConfig
{
SkipExternalImages = true,
RemoveLastWhitePage = true,
TimeZoneOffset = TimeSpan.Zero
},
new ImageConfig
{
MaxImagePixelSize = 3000,
TransparentPng = true
},
new DicomConfig
{
DisplayMode = DicomDisplayMode.AnimationAndFrames,
AnimationFrameDelayMs = 100,
LoopCount = 0
}
];Lựa chọn theo phần mở rộng
static BaseConfig? ConfigForExtension(string extUpper) => extUpper switch
{
".DOC" or ".DOCX" or ".DOT" or ".DOTX" or ".ODT" => new WordConfig
{
AutoFitAllTables = WordConfig.TableAutoFitBehavior.AutoFitToWindow,
PaperSize = DocPaperSize.Tabloid,
PdfConfig = new PdfConfig { ExtractHyperlinks = true, HyperlinksPageCount = 5, AllowCopy = true }
},
".PDF" => new PdfConfig { AllowSearch = true, AllowCopy = true },
".XLS" or ".XLSX" or ".ODS" or ".CSV" => new ExcelConfig { AllowSearch = true, AllowCopy = true },
".DCM" or ".IMA" => new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames },
// DefaultRender = false → PDF redirect → pixel-accurate native text search
".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
_ => null // fall back to the format's default config
};Trang này có hữu ích không?