การกำหนดค่าแบบฟอร์ม
ตัวเลือกการแสดงผลแบบเต็มสำหรับแต่ละรูปแบบ
ทุกเอกสารเปิดด้วยการใช้งาน BaseConfig ส่งออบเจกต์หนึ่งไปยัง OpenDocumentAsync หรือให้แคตาล็อกรูปแบบสร้างค่าเริ่มต้นของมันเอง คลาสทั้งหมดด้านล่างอยู่ในเนมสเปซ Doconut
var token = await viewer.OpenDocumentAsync(path, new PdfConfig
{
AllowSearch = true,
AllowCopy = true,
ImageResolution = 150
});การสืบทอดและการตั้งค่า PDF ซ้อนกัน
ทุกรูปแบบสืบทอดคุณสมบัติ BaseConfig ทั้งห้า รูปแบบที่สามารถเปลี่ยนเส้นทางผ่าน PDF จะเปิดเผย PdfConfig ที่ซ้อนกัน ใน WordConfig, ExcelConfig และ PptConfig คุณสมบัติ AllowSearch และ AllowCopy เป็นคุณสมบัติอำนวยความสะดวกที่อ่านและเขียนค่าใน PdfConfig ที่ซ้อนกัน
DefaultRender = true เลือกเรนเดอร์เนทีฟของรูปแบบนั้น ๆ สำหรับรูปแบบที่มีการเปลี่ยนเส้นทางเป็น PDF, false จะทำการแปลงเป็น PDF ในหน่วยความจำก่อนแล้วจึงใช้ตัวดู PDF เส้นทางนี้มักเป็นประโยชน์สำหรับการค้นหาตำแหน่งข้อความ แต่จะเพิ่มขั้นตอนการแปลงเพิ่มเติม
หากไม่ได้ระบุเป็นอย่างอื่น ตารางจะแสดงค่าเริ่มต้นของคอนสตรัคเตอร์/คุณสมบัติ การแคตาล็อกรูปแบบอัตโนมัติจะบังคับให้ค่าเริ่มต้นสองค่าแตกต่างกัน: มันสร้าง ExcelConfig โดยตั้ง SplitWorksheets = true และ MhtConfig โดยตั้ง DefaultRender = false
BaseConfig
| ประเภท | คุณสมบัติ | ค่าเริ่มต้น | พฤติกรรม |
|---|---|---|---|
int | ImageResolution | 0 | 0 ใช้ค่าเริ่มต้นของรูปแบบ ช่วงค่าที่กำหนดอย่างชัดเจนที่ถูกต้องคือ 25‑300 DPI; การกำหนดค่าที่ไม่ถูกต้องจะถูกละเว้น |
string | DocumentCulture | "" | ภูมิภาคสำหรับวันที่และตัวเลข ค่าไม่ว่างจะถูกตัดขอบ; การกำหนดค่าว่างจะถูกละเว้น |
string | Password | "" | รหัสผ่านของเอกสารที่ป้องกัน DocOptions.Password จะถูกคัดลอกมาที่นี่โดยอัตโนมัติ |
bool | ShowUI | true | คุณสมบัติเพื่อความเข้ากันได้; ตัวเรนเดอร์ปัจจุบันไม่ได้ใช้เพื่อควบคุมแถบเครื่องมือของเบราว์เซอร์ |
bool | CachePages | true | แคชภาพหน้าที่เรนเดอร์สำหรับช่วงเวลาการทำงานของเอกสาร |
PdfConfig
รูปแบบ: PDF. DPI เริ่มต้น: 200
| ประเภท | คุณสมบัติ | ค่าเริ่มต้น | พฤติกรรม |
|---|---|---|---|
bool | DefaultRender | true | สวิตช์เพื่อความเข้ากันได้ ตัวโรงงานปัจจุบันใช้ตัวดู PDF เนทีฟ |
bool | AllowSearch | false | สร้าง/ใช้ดัชนีการค้นหาข้อความใน PDF ต้องมีสิทธิ์ Search license สำหรับการร้องขอ |
bool | AllowCopy | false | อนุญาตการเลือกและคัดลอกข้อความ |
bool | ExtractHyperlinks | false | ดึงสี่เหลี่ยมลิงก์สำหรับการวางซ้อนของไคลเอนต์ |
int | HyperlinksPageCount | 0 | จำนวนหน้าที่สแกนสูงสุดสำหรับลิงก์; 0 หมายถึงทุกหน้า |
bool | CompressImages | false | บีบอัดภาพที่ฝังอยู่ก่อนการเรนเดอร์ |
int | CompressQuality | 100 | คุณภาพ JPEG ที่ใช้เมื่อเปิดใช้งานการบีบอัด |
bool | ResizeImages | false | ปรับขนาดภาพที่ฝังอยู่ก่อนการเรนเดอร์ |
int | ResizeResolution | 300 | DPI เป้าหมายสำหรับภาพที่ปรับขนาด |
bool | CompressFast | false | ให้เส้นทางการบีบอัดที่เร็วกว่าแต่คุณภาพต่ำกว่า |
bool | FixInvalidImages | false | พยายามซ่อมแซมภาพที่ฝังอยู่ที่ไม่ถูกต้อง |
bool | SplitSegments | false | รวมคำที่ถูกแยกเป็นส่วนหลายบรรทัดเพื่อปรับปรุงการค้นหา/คัดลอก |
showHyperlinks ใน ViewerConfig ควบคุมการวางซ้อนของไคลเอนต์ ส่วน ExtractHyperlinks ควบคุมการดึงข้อมูลบนเซิร์ฟเวอร์ เปิดใช้งานทั้งสองอย่างพร้อมกัน
WordConfig
รูปแบบ: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. DPI เริ่มต้น: 200
| ประเภท | คุณสมบัติ | ค่าเริ่มต้น | พฤติกรรม |
|---|---|---|---|
bool | DefaultRender | true | เรนเดอร์ Word เนทีฟ; false ใช้การเปลี่ยนเส้นทางเป็น PDF |
PdfConfig | PdfConfig | อินสแตนซ์ใหม่ | การตั้งค่าที่ใช้โดยเส้นทาง PDF/การค้นหา |
DocPaperSize | PaperSize | A4 | ขนาดกระดาษผลลัพธ์ ใช้ Custom พร้อมความกว้าง/ความสูง |
int | PaperWidth | 595 | ความกว้างกำหนดเองเป็นพอยต์ |
int | PaperHeight | 841 | ความสูงกำหนดเองเป็นพอยต์ |
bool | RemovePaperMargin | false | ลบขอบกระดาษของเอกสาร |
bool | RenderPageColor | true | รักษาสีหน้าที่กำหนดใน Word; false เรนเดอร์หน้าขาว |
bool | ExportPdfA | false | ใช้ PDF/A สำหรับเส้นทาง PDF |
Encoding? | FileEncoding | null | เขียนทับการเข้ารหัสของแหล่งข้อมูล |
string | FontInfo | "" | ข้อมูลการแทนที่ฟอนต์ |
string[]? | FontFolders | null | ไดเรกทอรีฟอนต์เพิ่มเติม, มีประโยชน์โดยเฉพาะใน Linux/containers |
bool | AllowSearch | false | ส่งต่อไปยัง PdfConfig.AllowSearch |
bool | AllowCopy | false | ส่งต่อไปยัง PdfConfig.AllowCopy |
TableAutoFitBehavior | AutoFitAllTables | None | None, AutoFitToContents หรือ AutoFitToWindow |
ExcelConfig
รูปแบบ: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. DPI เริ่มต้น: 200
| ประเภท | คุณสมบัติ | ค่าเริ่มต้น | พฤติกรรม |
|---|---|---|---|
bool | DefaultRender | true | เรนเดอร์แผ่นงานเนทีฟ; false ใช้การเปลี่ยนเส้นทางเป็น PDF |
PdfConfig | PdfConfig | อินสแตนซ์ใหม่ | การตั้งค่าสำหรับเส้นทาง PDF/การค้นหา |
ExcelPaperSize | PaperSize | PaperA4 | ขนาดกระดาษผลลัพธ์ |
double | PaperMargins | 0.25 | ขอบกระดาษเป็นนิ้ว |
bool | PaperLandscape | true | เรนเดอร์แผ่นงานแนวนอน |
bool | AutoFitContents | false | ปรับอัตโนมัติความสูงของแถวและความกว้างของคอลัมน์ |
bool | RemoveEmptyContent | true | ลดขนาดผลลัพธ์โดยไม่รวมเนื้อหาที่ว่างเปล่า |
bool | CalculateFormula | true | คำนวณสูตรใหม่ก่อนการเรนเดอร์ |
bool | ShowRowColumnHeaders | true | รวมหัวข้อแถวและคอลัมน์ของสเปรดชีต |
bool | ExportPdfA | false | ใช้ PDF/A สำหรับเส้นทาง PDF |
bool | SplitWorksheets | false | เก็บแผ่นงานเป็นกลุ่มหน้าแยก |
bool | ShowEmptyWorkSheets | false | รวมแผ่นงานที่ว่างเปล่า |
bool | ExportLandscape | false | บังคับส่งออกแนวนอน |
bool | ExportOnePagePerSheet | false | ปรับให้แต่ละแผ่นงานพอดีกับหนึ่งหน้าผลลัพธ์ |
bool | MemoryOptimizationPreference | true | ลดการใช้หน่วยความจำสูงสุด, อาจแลกกับความเร็วบางส่วน |
bool | AutoTrimWorksheetRenderRange | true | เรนเดอร์เฉพาะช่วงที่ใช้ได้ที่มองเห็นเมื่อไม่มีพื้นที่พิมพ์ที่กำหนดชัดเจน |
bool | AutoTrimPreserveExistingPrintArea | true | รักษาพื้นที่พิมพ์ที่กำหนดโดยเวิร์กบุ๊กระหว่างการตัดอัตโนมัติ |
string? | PrintArea | null | ช่วงพิมพ์ที่ระบุเช่น "A1:Z100" |
bool | PrintGridlines | false | พิมพ์เส้นกริดของแผ่นงาน |
bool | PrintHeadings | false | พิมพ์หัวข้อแถว/คอลัมน์ |
List<string> | SheetNames | empty | จำกัดการเรนเดอร์เฉพาะแผ่นงานที่ระบุชื่อ |
CustomStyleCell? | CustomStyles | null | การเขียนทับรูปแบบวันที่/ทศนิยม/จำนวนเต็ม (nullable) |
bool | AllowSearch | false | ส่งต่อไปยัง PdfConfig.AllowSearch |
bool | AllowCopy | false | ส่งต่อไปยัง PdfConfig.AllowCopy |
CustomStyleCell เปิดเผย CustomStyleDateTime, CustomStyleNumberDecimal, และ CustomStyleNumberInteger, ทั้งหมดเป็นสตริง nullable
new ExcelConfig() ตั้งค่า SplitWorksheets เป็น false; การเปิดไฟล์ Excel โดยไม่มีการกำหนดค่าเฉพาะจะใช้แคตาล็อกรูปแบบซึ่งตั้งค่าเป็น true
PptConfig
รูปแบบ: PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP. DPI เริ่มต้น: 200
| ประเภท | คุณสมบัติ | ค่าเริ่มต้น | พฤติกรรม |
|---|---|---|---|
bool | DefaultRender | true | เรนเดอร์สไลด์เนทีฟ; false ใช้การเปลี่ยนเส้นทางเป็น PDF |
bool | FastLoad | false | หลีกเลี่ยงการเรนเดอร์สไลด์แรกขณะเปิด; ใช้เมตาดาต้าและเรนเดอร์ตามความต้องการ |
PdfConfig | PdfConfig | อินสแตนซ์ใหม่ | การตั้งค่าสำหรับพฤติกรรม PDF/การค้นหา |
string | FontInfo | "" | ข้อมูลการแทนที่ฟอนต์ |
string[]? | FontFolders | null | ไดเรกทอรีฟอนต์เพิ่มเติม |
bool | AllowSearch | false | ส่งต่อไปยัง PdfConfig.AllowSearch |
bool | AllowCopy | false | ส่งต่อไปยัง PdfConfig.AllowCopy |
บน Linux และ macOS การเรนเดอร์พรีเซนเทชันด้วยเอนจินปัจจุบันต้องใช้ libgdiplus และตั้งค่า System.Drawing.EnableUnixSupport=true ติดตั้งฟอนต์ที่ใช้ในพรีเซนเทชันหรือระบุ FontFolders
CadConfig
รูปแบบ: DWG, DXF, DGN. DPI เริ่มต้น: 200
| ประเภท | คุณสมบัติ | ค่าเริ่มต้น | พฤติกรรม |
|---|---|---|---|
bool | DefaultRender | true | เรนเดอร์ CAD เนทีฟ; false ใช้การเปลี่ยนเส้นทางเป็น PDF |
PdfConfig | PdfConfig | อินสแตนซ์ใหม่ | การตั้งค่าสำหรับเส้นทาง PDF |
bool | ExportPdfA | false | ผลลัพธ์ PDF/A เพื่อการเก็บรักษา |
bool | ShowColor | true | แสดงสีแทนขาว-ดำ |
bool | WhiteBackground | true | พื้นหลังสีขาวแทนสีดำ |
short | LineWidth | 25 | ความกว้างเส้น CAD |
bool | ShowLayouts | false | เรนเดอร์แท็บเลย์เอาต์ |
bool | ShowModel | true | เรนเดอร์โมเดลสเปซ |
bool | Check3DSolid | true | ประมวลผลโซลิด 3D |
bool | ExportAllLayouts | false | ส่งออกทุกเลย์เอาต์, ลบการเลือกโมเดล/เลย์เอาต์ |
bool | LimitMinimumSize | false | ใช้ MinimumSize |
int | MinimumSize | 700 | ขนาดขั้นต่ำของผลลัพธ์เป็นพิกเซล |
bool | LimitMaximumSize | false | ใช้ MaximumSize |
int | MaximumSize | 700 | ขนาดสูงสุดของผลลัพธ์เป็นพิกเซล |
bool | ShowAllLayoutsDgn | false | รวมทุกเลย์เอาต์ DGN |
bool | AutomaticLayoutScaling | true | ปรับสเกลเลย์เอาต์โดยอัตโนมัติ |
float | PdfMargins | 0.5 | ระยะขอบ PDF เป็นนิ้ว |
RenderQuality | QualityImage | Low | คุณภาพเรสเตอร์: Low, Medium หรือ High |
RenderQuality | QualityText | Medium | คุณภาพข้อความ: Low, Medium หรือ High |
EmailConfig
รูปแบบ: EML, EMLX, MSG. DPI เริ่มต้น: 200
| ประเภท | คุณสมบัติ | ค่าเริ่มต้น | พฤติกรรม |
|---|---|---|---|
bool | DefaultRender | true | เรนเดอร์อีเมลเนทีฟ; false ใช้การเปลี่ยนเส้นทางเป็น PDF |
PdfConfig | PdfConfig | อินสแตนซ์ใหม่ | การตั้งค่าสำหรับเส้นทาง PDF |
Encoding? | EmailEncoding | null | เขียนทับการเข้ารหัสของข้อความ |
Encoding? | SubjectEncoding | null | เขียนทับการเข้ารหัสของหัวเรื่อง |
Encoding? | BodyEncoding | null | เขียนทับการเข้ารหัสของเนื้อหา |
bool | SkipExternalImages | false | ไม่โหลดภาพที่อ้างอิงจากระยะไกล แนะนำสำหรับอีเมลที่ไม่น่าเชื่อถือ |
bool | RemoveLastWhitePage | false | ลบหน้าว่างสีขาวสุดท้าย |
bool | UseAntiAliasing | false | เปิดใช้งานการทำแอนติอาลีอัส |
bool | UseHighQualityRendering | false | ให้การเรนเดอร์ที่สะอาดแต่ช้ากว่า |
TimeSpan? | TimeZoneOffset | null | เขียนทับโซนเวลาที่ใช้สำหรับวันที่ |
bool | ForcePageSize | false | บังคับขนาดหน้าคงที่ |
ImageConfig, TiffConfig, and PsdConfig
ImageConfig ครอบคลุม JPG, JPEG, JPE, PNG, BMP, GIF, ICO, EPS, TGA, WEBP, CDR, CMX, DNG, EMF, WMF, AVIF, และ SVG. DPI เริ่มต้นคือ 100
| การกำหนดค่า | คุณสมบัติ | ค่าเริ่มต้น | พฤติกรรม |
|---|---|---|---|
ImageConfig | MaxImagePixelSize | 3000 | ความกว้าง/ความสูงสูงสุด 0 หมายถึงไม่จำกัด; ค่าที่ไม่เป็นศูนย์ต่ำกว่า 50 จะถูกละเว้น |
ImageConfig | TransparentPng | true | รักษาความโปร่งใสของ PNG; false ใช้พื้นหลังสีขาว |
TiffConfig | ไม่มีคุณสมบัติเพิ่มเติม | DPI 200 | ใช้เฉพาะ BaseConfig; รองรับ TIFF หลายหน้า |
PsdConfig | MaxImagePixelSize | 3000 | การตรวจสอบเช่นเดียวกับ ImageConfig; DPI เริ่มต้นคือ 100 |
DicomConfig
รูปแบบ: DCM, IMA. DPI มีประสิทธิภาพเริ่มต้น: 100. ต้องใช้ปลั๊กอิน DICOM
| ประเภท | คุณสมบัติ | ค่าเริ่มต้น | พฤติกรรม |
|---|---|---|---|
int | HorizontalResolution | 100 effective | DPI แนวนอนที่ระบุอย่างชัดเจน; ถ้าไม่มีจะใช้ ImageResolution แล้วจึงเป็น 100 |
int | VerticalResolution | 100 effective | DPI แนวตั้งที่ระบุอย่างชัดเจน; ถ้าไม่มีจะใช้ ImageResolution แล้วจึงเป็น 100 |
int | AnimationFrameDelayMs | 100 | ความหน่วงของเฟรมหลายเฟรม; การจับเวลา GIF ใช้หน่วย 10 ms |
ushort | LoopCount | 0 | 0 หมายถึงวนลูปตลอดไป; ค่าบวกจะหยุดหลังจากจำนวนครั้งที่กำหนด |
DicomDisplayMode | DisplayMode | AnimationAndFrames | AnimationOnly, FramesOnly หรือภาพรวมพร้อมเฟรมคงที่ |
TxtConfig
รูปแบบ: TXT. DPI เริ่มต้น: 200
| ประเภท | คุณสมบัติ | ค่าเริ่มต้น | พฤติกรรม |
|---|---|---|---|
DocPaperSize | PaperSize | A4 | ขนาดกระดาษผลลัพธ์ |
Encoding? | FileEncoding | null | null ใช้ UTF-8 |
string | FontInformation | "" | ข้อมูลฟอนต์สำหรับการเรนเดอร์ข้อความ |
ใช้ WordConfig เมื่อข้อความธรรมดาต้องการพฤติกรรมการจัดหน้าแบบละเอียดมากขึ้น
ProjectConfig
รูปแบบ: MPP, MPPX, MPX. DPI เริ่มต้น: 200
| ประเภท | คุณสมบัติ | ค่าเริ่มต้น | พฤติกรรม |
|---|---|---|---|
bool | DefaultRender | true | เรนเดอร์ภาพ Gantt เนทีฟ; false ใช้เส้นทาง PDF แบบข้อความ |
PdfConfig | PdfConfig | อินสแตนซ์ใหม่ | การตั้งค่าสำหรับเส้นทาง PDF |
bool | ExportPdfA | true | ผลลัพธ์ PDF/A เพื่อการเก็บรักษา |
MppPaperSize | PaperSize | Ledger | ขนาดกระดาษผลลัพธ์ของโครงการ |
MppTimeScale | TimeScale | Months | Days หรือ Months |
MppFormat | PresentationFormat | GanttChart | GanttChart, TaskUsage, ResourceUsage, ResourceSheet หรือ TaskSheet |
สำหรับการค้นหาตำแหน่งข้อความที่แม่นยำ, ใช้ DefaultRender = false
VisioConfig
รูปแบบ: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. DPI เริ่มต้น: 200
| ประเภท | คุณสมบัติ | ค่าเริ่มต้น | พฤติกรรม |
|---|---|---|---|
bool | DefaultRender | true | เรนเดอร์แผนภาพเนทีฟ; false ใช้การเปลี่ยนเส้นทางเป็น PDF |
PdfConfig | PdfConfig | อินสแตนซ์ใหม่ | การตั้งค่าสำหรับเส้นทาง PDF |
bool | ExportPdfA | true | ผลลัพธ์ PDF/A เพื่อการเก็บรักษา |
HtmlConfig, EpubConfig, MhtConfig, and XpsConfig
ทั้งสี่ตั้งค่า DPI เริ่มต้นที่ 200 และเปิดเผย PdfConfig ที่ซ้อนกัน
| การกำหนดค่า | รูปแบบ | DefaultRender | คุณสมบัติ/พฤติกรรมเพิ่มเติม |
|---|---|---|---|
HtmlConfig | HTML, HTM | true | เรนเดอร์เนทีฟ; ใช้ false สำหรับเส้นทาง PDF แบบข้อความ |
EpubConfig | EPUB | true | เรนเดอร์เนทีฟ; false ใช้ PDF |
MhtConfig | MHT, MHTML | true บนคลาส; false ในแคตาล็อกอัตโนมัติ | การเปิดโดยไม่มีการกำหนดค่าจะใช้การเปลี่ยนเส้นทางเป็น PDF ที่สามารถค้นหาได้ ตัวอย่างสร้างอินสแตนซ์เริ่มต้นโดยตรงจะเรนเดอร์เนทีฟ |
XpsConfig | XPS | false | ใช้เส้นทาง PDF เป็นค่าเริ่มต้น; ตั้งค่า true เพื่อเรนเดอร์ภาพเนทีฟ |
ตัวอย่างการกำหนดค่าตามกลุ่ม
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
}
];การเลือกตามส่วนขยาย
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
};หน้านี้เป็นประโยชน์หรือไม่?