การกำหนดค่าแบบฟอร์ม
ตัวเลือกการแสดงผลแบบเต็มสำหรับแต่ละรูปแบบ
เอกสารแต่ละไฟล์จะเปิดด้วยการนำ 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 สำหรับคำขอ |
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 | new instance | การตั้งค่าที่ใช้โดยเส้นทาง 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 |
การกำหนดค่า Excel
รูปแบบ: 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 | ว่าง | จำกัดการแสดงผลเฉพาะเวิร์กชีตที่มีชื่อ. |
CustomStyleCell? | CustomStyles | null | การแทนที่การจัดรูปแบบวันที่/ทศนิยม/จำนวนเต็มแบบเลือกได้. |
bool | AllowSearch | false | มอบหมายให้ PdfConfig.AllowSearch. |
bool | AllowCopy | false | มอบหมายให้ PdfConfig.AllowCopy. |
CustomStyleCell เปิดเผย CustomStyleDateTime, CustomStyleNumberDecimal, และ CustomStyleNumberInteger, ทั้งหมดเป็นสตริงที่สามารถเป็นค่า null ได้.
new ExcelConfig() ตั้งค่า SplitWorksheets เป็น false; การเปิดไฟล์ Excel โดยไม่มีการกำหนดค่าที่ชัดเจนจะใช้แคตาล็อกรูปแบบ ซึ่งตั้งค่าเป็น true.
การกำหนดค่า PPT
รูปแบบ: 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.
การกำหนดค่า CAD
รูปแบบ: 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. |
การกำหนดค่าอีเมล
รูปแบบ: 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, และ 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 | เหมือนการตรวจสอบ 0/minimum-50 กับ 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 มิลลิวินาที. |
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 และ 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 → การค้นหาข้อความแบบเนทีฟที่แม่นยำระดับพิกเซล
".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
_ => null // กลับไปใช้การกำหนดค่าเริ่มต้นของรูปแบบ’s default config
};หน้านี้เป็นประโยชน์หรือไม่?