Cấu Hình Định Dạng
Tùy chọn render đầy đủ cho từng định dạng
Mỗi tài liệu mở bằng một triển khai BaseConfig. Gửi một cái cho OpenDocumentAsync hoặc để danh mục định dạng tạo mặc định của nó. 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 cung cấp 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 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 tìm kiếm theo tọa độ văn bản, nhưng tốn một lần chuyển đổi bổ sung.
Trừ khi được nêu khác, các bảng hiển thị giá trị mặc định của constructor/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 gán không hợp lệ sẽ bị bỏ qua. |
string | DocumentCulture | "" | Vùng miền cho ngày và số. Giá trị không rỗng được cắt bớt; các gán rỗng sẽ bị bỏ qua. |
string | Password | "" | Mật khẩu tài liệu được bảo vệ. DocOptions.Password được sao chép vào đây tự động. |
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 bộ nhớ đệm các hình ảnh trang đã render cho phiên 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 Tìm kiếm cho các yêu cầu. |
bool | AllowCopy | false | Cho phép các thao tác chọn/ 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ủ client. |
int | HyperlinksPageCount | 0 | Số trang tối đa được quét để tìm liên kết; 0 có nghĩa là mọi trang. |
bool | CompressImages | false | Nén 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 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 kiểm soát lớp phủ client, trong khi ExtractHyperlinks kiểm soát việc trích xuất phía máy chủ. 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 | đối tượng mới | Cài đặt được sử dụng bởi đường dẫn PDF/tìm kiếm. |
DocPaperSize | PaperSize | A4 | Kích thước giấy xuất ra. Sử 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 điểm. |
int | PaperHeight | 841 | Chiều cao tùy chỉnh tính bằng điểm. |
bool | RemovePaperMargin | false | Xóa lề trang tài liệu. |
bool | RenderPageColor | true | Giữ màu trang được cấu hình trong Word; false render các trang trắng. |
bool | ExportPdfA | false | Sử dụng PDF/A lưu trữ trên đường dẫn 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 trong Linux/containers. |
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. |
Cấu hình Excel
Đị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 | Kết xuất trang tính gốc; false sử dụng chuyển hướng PDF. |
PdfConfig | PdfConfig | new instance | Cài đặt cho đường dẫn 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 | Kết xuất trang ngang. |
bool | AutoFitContents | false | Tự động điều chỉnh chiều cao hàng và chiều rộng cột. |
bool | RemoveEmptyContent | true | Thu gọn đầ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 kết xuất. |
bool | ShowRowColumnHeaders | true | Bao gồm tiêu đề bảng tính. |
bool | ExportPdfA | false | Sử dụng PDF/A trên đường dẫn PDF. |
bool | SplitWorksheets | false | Giữ các worksheet 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 dạng ngang. |
bool | ExportOnePagePerSheet | false | Vừ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ỉ kết xuất 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ự 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 | Giới hạn kết xuất chỉ các worksheet được đặt tên. |
CustomStyleCell? | CustomStyles | null | Ghi đè định dạng ngày/thập phân/số nguyên tùy chọ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ả là chuỗi có thể null.
new ExcelConfig() đặt SplitWorksheets thành false; mở một tệp Excel mà không có cấu hình rõ ràng sẽ sử dụng danh mục định dạng, cái mà đặt nó thành true.
Cấu hình PPT
Đị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 | Kết xuất slide gốc; false sử dụng chuyển hướng PDF. |
bool | FastLoad | false | Tránh kết xuất slide đầu tiên khi mở; sử dụng siêu dữ liệu và kết xuất 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 kết xuất 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 sử dụng trong bản trình chiếu hoặc cung cấp FontFolders.
Cấu hình CAD
Đị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 | Kết xuất CAD gốc; false sử dụng chuyển hướng PDF. |
PdfConfig | PdfConfig | new instance | Cài đặt đường dẫn 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 | Kết xuất các tab bố cục. |
bool | ShowModel | true | Kết xuất không gian mô hình. |
bool | Check3DSolid | true | Xử lý khối 3D. |
bool | ExportAllLayouts | false | Xuất tất cả các bố cục, ghi đè lựa chọn mô hình/bố cục. |
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ả các bố cục DGN. |
bool | AutomaticLayoutScaling | true | Tự động thu phóng các bố cục. |
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. |
Cấu hình Email
Định dạng: EML, EMLX, MSG. DPI mặc định: 200.
| Loại | Thuộc tính | Mặc định | Hành vi |
|---|---|---|---|
bool | DefaultRender | true | Kết xuất email gốc; false sử dụng chuyển hướng PDF. |
PdfConfig | PdfConfig | đối tượng mới | Cài đặt đường dẫn 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 ảnh được tham chiếu từ xa. Được khuyến nghị cho email không đáng tin cậy. |
bool | RemoveLastWhitePage | false | Xóa trang trắng cuối cùng. |
bool | UseAntiAliasing | false | Bật khử răng cưa. |
bool | UseHighQualityRendering | false | Ưu tiên kết xuất sạch hơn, chậm hơn. |
TimeSpan? | TimeZoneOffset | null | Ghi đè múi giờ được sử dụng cho ngày tháng. |
bool | ForcePageSize | false | Buộc kích thước trang cố định. |
ImageConfig, TiffConfig và PsdConfig
ImageConfig hỗ trợ 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 | Chiều rộng/chiều cao tối đa. 0 có nghĩa là không giới hạn; các giá trị khác 0 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 xác thực 0/minimum-50 như ImageConfig; DPI mặc định là 100. |
Cấu hình Dicom
Định dạng: DCM, IMA. DPI hiệu quả mặc định: 100. Yêu cầu plugin DICOM.
| Loại | Thuộc tính | Mặc định | Hành vi |
|---|---|---|---|
int | HorizontalResolution | 100 hiệu quả | DPI ngang rõ ràng; nếu không thì ImageResolution, sau đó 100. |
int | VerticalResolution | 100 hiệu quả | DPI dọc rõ ràng; nếu không thì ImageResolution, sau đó 100. |
int | AnimationFrameDelayMs | 100 | Độ trễ hoạt ảnh đa khung; thời gian GIF sử dụng đơn vị 10 ms. |
ushort | LoopCount | 0 | 0 lặp vô hạn; các giá trị dương dừng sau số lần đó. |
DicomDisplayMode | DisplayMode | AnimationAndFrames | AnimationOnly, FramesOnly, hoặc tổng hợp tổng quan cộng khung tĩnh. |
Cấu hình Txt
Định dạng: TXT. DPI mặc định: 200.
| Loại | Thuộc tính | Mặc định | Hành vi |
|---|---|---|---|
DocPaperSize | PaperSize | A4 | Kích thước giấy xuất. |
Encoding? | FileEncoding | null | null sử dụng UTF-8. |
string | FontInformation | "" | Thông tin phông chữ cho việc kết xuất 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.
Cấu hình Project
Định dạng: MPP, MPPX, MPX. DPI mặc định: 200.
| Loại | Thuộc tính | Mặc định | Hành vi |
|---|---|---|---|
bool | DefaultRender | true | Hình ảnh Gantt gốc; false sử dụng đường dẫn PDF dựa trên văn bản. |
PdfConfig | PdfConfig | đối tượng mới | Cài đặt đường dẫn PDF. |
bool | ExportPdfA | true | Đầu ra PDF/A lưu trữ. |
MppPaperSize | PaperSize | Ledger | Kích thước giấy xuất dự án. |
MppTimeScale | TimeScale | Months | Days hoặc Months. |
MppFormat | PresentationFormat | GanttChart | GanttChart, TaskUsage, ResourceUsage, ResourceSheet, hoặc TaskSheet. |
Để tìm kiếm tọa độ văn bản chính xác, sử dụng DefaultRender = false.
Cấu hình Visio
Định dạng: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. DPI mặc định: 200.
| Loại | Thuộc tính | Mặc định | Hành vi |
|---|---|---|---|
bool | DefaultRender | true | Kết xuất sơ đồ gốc; false sử dụng chuyển hướng PDF. |
PdfConfig | PdfConfig | đối tượng mới | Cài đặt đường dẫn PDF. |
bool | ExportPdfA | true | Đầu ra PDF/A lưu trữ. |
HtmlConfig, EpubConfig, MhtConfig và XpsConfig
Bốn cấu hình này mặc định là 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 | Kết xuất gốc; sử dụng false cho đường dẫn tìm kiếm PDF dựa trên văn bản. |
EpubConfig | EPUB | true | Kết xuất gốc; false sử dụng PDF. |
MhtConfig | MHT, MHTML | true trên lớp; false trong danh mục tự động | Mở bình thường không cấu hình sử dụng chuyển hướng PDF có thể tìm kiếm. Một thể hiện mặc định được tạo rõ ràng sẽ kết xuất gốc. |
XpsConfig | XPS | false | Mặc định sử dụng đường dẫn PDF; đặt true để kết xuất 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 = new[] { "/usr/share/fonts/truetype" },
AllowSearch = true
},
new ExcelConfig
{
PaperLandscape = true,
AutoFitContents = true,
CalculateFormula = true,
SplitWorksheets = false,
PrintGridlines = false
},
new PptConfig
{
FastLoad = true,
FontFolders = new[] { "/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 → chuyển hướng PDF → tìm kiếm văn bản gốc với độ chính xác pixel
".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
_ => null // quay lại cấu hình mặc định của định dạng
};Trang này có hữu ích không?