การกำหนดค่าแบบฟอร์ม

ตัวเลือกการเรนเดอร์แบบฟอร์มแบบครบถ้วนต่อประเภท

เอกสารทุกไฟล์จะเปิดด้วยการใช้งาน BaseConfig ส่งออบเจ็กต์นี้ไปยัง OpenDocumentAsync (หรือ OpenDocument) หรือให้แคตาล็อกรูปแบบสร้างค่าเริ่มต้นของมันเอง คลาสทั้งหมดด้านล่างอยู่ในเนมสเปซ Doconut.

csharp
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

ประเภทคุณสมบัติค่าเริ่มต้นพฤติกรรม
intImageResolution00 ใช้ค่าเริ่มต้นของรูปแบบ ช่วงค่าที่กำหนดอย่างชัดเจนคือ 25‑300 DPI; การกำหนดค่าที่ไม่ถูกต้องจะถูกละเลย
stringDocumentCulture""ภูมิภาคสำหรับวันที่และตัวเลข ค่าที่ไม่ว่างจะถูกตัดช่องว่าง; การกำหนดค่าว่างจะถูกละเลย
stringPassword""รหัสผ่านของเอกสารที่ป้องกัน DocOptions.Password จะถูกคัดลอกมาที่นี่โดยอัตโนมัติ
boolShowUItrueคุณสมบัติเพื่อความเข้ากันได้; เรนเดอร์เดิมไม่ได้ใช้เพื่อควบคุมแถบเครื่องมือของเบราว์เซอร์
boolCachePagestrueแคชภาพหน้าที่เรนเดอร์สำหรับเซสชันของเอกสาร

PdfConfig

รูปแบบ: PDF. DPI เริ่มต้น: 200.

ประเภทคุณสมบัติค่าเริ่มต้นพฤติกรรม
boolDefaultRendertrueสวิตช์เพื่อความเข้ากันได้. โรงงานปัจจุบันใช้ตัวดู PDF เนทีฟ
boolAllowSearchfalseสร้าง/ใช้ดัชนีการค้นหาข้อความใน PDF ต้องมีสิทธิ์ Search ในใบขอ
boolAllowCopyfalseอนุญาตการเลือก/คัดลอกข้อความ
boolExtractHyperlinksfalseดึงสี่เหลี่ยมลิงก์สำหรับการวางซ้อนของไคลเอนต์
intHyperlinksPageCount0จำนวนหน้าที่สแกนสูงสุดสำหรับลิงก์; 0 หมายถึงทุกหน้า
boolCompressImagesfalseบีบอัดภาพที่ฝังอยู่ก่อนการเรนเดอร์
intCompressQuality100คุณภาพ JPEG ที่ใช้เมื่อเปิดใช้งานการบีบอัด
boolResizeImagesfalseปรับขนาดภาพที่ฝังอยู่ก่อนการเรนเดอร์
intResizeResolution300DPI เป้าหมายสำหรับภาพที่ปรับขนาด
boolCompressFastfalseให้ความสำคัญกับเส้นทางบีบอัดที่เร็วกว่าแต่คุณภาพต่ำกว่า
boolFixInvalidImagesfalseพยายามซ่อมแซมภาพฝังที่ไม่ถูกต้อง
boolSplitSegmentsfalseรวมคำที่ถูกแยกตามส่วนบรรทัดเพื่อปรับปรุงการค้นหา/คัดลอก

showHyperlinks ใน ViewerConfig ควบคุมการวางซ้อนของไคลเอนต์ ในขณะที่ ExtractHyperlinks ควบคุมการสกัดบนเซิร์ฟเวอร์ เปิดใช้งานทั้งสองพร้อมกัน

WordConfig

รูปแบบ: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. DPI เริ่มต้น: 200.

ประเภทคุณสมบัติค่าเริ่มต้นพฤติกรรม
boolDefaultRendertrueการแสดงผลแบบ Word ดั้งเดิม; false ใช้การเปลี่ยนเส้นทางเป็น PDF
PdfConfigPdfConfignew instanceการตั้งค่าที่ใช้โดยเส้นทาง PDF/การค้นหา
DocPaperSizePaperSizeA4ขนาดกระดาษของผลลัพธ์ ใช้ Custom พร้อมความกว้าง/ความสูง
intPaperWidth595ความกว้างกำหนดเองเป็นหน่วยจุด
intPaperHeight841ความสูงกำหนดเองเป็นหน่วยจุด
boolRemovePaperMarginfalseลบขอบกระดาษของเอกสาร
boolRenderPageColortrueรักษาสีหน้าที่กำหนดใน Word; false แสดงหน้าสีขาว
boolExportPdfAfalseใช้ PDF/A สำหรับการเก็บถาวรบนเส้นทาง PDF
Encoding?FileEncodingnullแทนที่การเข้ารหัสของแหล่งข้อมูล
stringFontInfo""ข้อมูลการแทนที่ฟอนต์
string[]?FontFoldersnullไดเรกทอรีฟอนต์เพิ่มเติม — มีประโยชน์บนเซิร์ฟเวอร์ที่ไม่มีฟอนต์ที่เอกสารใช้
boolAllowSearchfalseมอบหมายให้ PdfConfig.AllowSearch
boolAllowCopyfalseมอบหมายให้ PdfConfig.AllowCopy
TableAutoFitBehaviorAutoFitAllTablesNoneNone, AutoFitToContents หรือ AutoFitToWindow

ExcelConfig

รูปแบบ: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. DPI เริ่มต้น: 200.

ประเภทคุณสมบัติค่าเริ่มต้นพฤติกรรม
boolDefaultRendertrueการเรนเดอร์ชีตแบบดั้งเดิม; false ใช้การเปลี่ยนเส้นทางเป็น PDF.
PdfConfigPdfConfignew instanceการตั้งค่าสำหรับเส้นทาง PDF/การค้นหา.
ExcelPaperSizePaperSizePaperA4ขนาดกระดาษของผลลัพธ์.
doublePaperMargins0.25ระยะขอบหน้ากระดาษเป็นนิ้ว.
boolPaperLandscapetrueการเรนเดอร์ชีตในแนวนอน.
boolAutoFitContentsfalseปรับความสูงของแถวและความกว้างของคอลัมน์โดยอัตโนมัติ.
boolRemoveEmptyContenttrueทำให้ผลลัพธ์กระชับโดยตัดเนื้อหาที่ว่างออก.
boolCalculateFormulatrueคำนวณสูตรใหม่ก่อนการเรนเดอร์.
boolShowRowColumnHeaderstrueรวมส่วนหัวของสเปรดชีต.
boolExportPdfAfalseใช้ PDF/A ในเส้นทาง PDF.
boolSplitWorksheetsfalseเก็บเวิร์กชีตเป็นกลุ่มหน้าที่แยกกัน.
boolShowEmptyWorkSheetsfalseรวมเวิร์กชีตที่ว่าง.
boolExportLandscapefalseบังคับการส่งออกในแนวนอน.
boolExportOnePagePerSheetfalseปรับให้แต่ละเวิร์กชีตพอดีกับหนึ่งหน้าผลลัพธ์.
boolMemoryOptimizationPreferencetrueลดการใช้หน่วยความจำสูงสุด แม้อาจทำให้ความเร็วลดลงบ้าง.
boolAutoTrimWorksheetRenderRangetrueเรนเดอร์เฉพาะช่วงที่ใช้และมองเห็นได้เมื่อไม่มีพื้นที่พิมพ์ที่ระบุชัดเจน.
boolAutoTrimPreserveExistingPrintAreatrueรักษาพื้นที่พิมพ์ที่กำหนดในเวิร์กบุ๊กระหว่างการตัดอัตโนมัติ.
string?PrintAreanullช่วงที่ระบุเช่น "A1:Z100".
boolPrintGridlinesfalseพิมพ์เส้นกริดของเวิร์กชีต.
boolPrintHeadingsfalseพิมพ์ส่วนหัวของแถว/คอลัมน์.
List<string>SheetNamesemptyจำกัดการเรนเดอร์เฉพาะเวิร์กชีตที่มีชื่อ.
CustomStyleCell?CustomStylesnullการแทนที่รูปแบบวันที่/ทศนิยม/จำนวนเต็มแบบเลือก.
boolAllowSearchfalseมอบหมายให้ PdfConfig.AllowSearch.
boolAllowCopyfalseมอบหมายให้ PdfConfig.AllowCopy.

CustomStyleCell เปิดเผย CustomStyleDateTime, CustomStyleNumberDecimal, และ CustomStyleNumberInteger, ทั้งหมดเป็นสตริงที่สามารถเป็นค่า null ได้.

new ExcelConfig() ตั้งค่า SplitWorksheets เป็น false; การเปิดไฟล์ Excel โดยไม่มีการกำหนดค่าชัดเจนจะใช้แคตาล็อกรูปแบบ ซึ่งตั้งค่าเป็น true.

PptConfig

รูปแบบ: PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP. DPI เริ่มต้น: 200.

ประเภทคุณสมบัติค่าเริ่มต้นพฤติกรรม
boolDefaultRendertrueการเรนเดอร์สไลด์แบบดั้งเดิม; false ใช้การเปลี่ยนเส้นทางเป็น PDF.
boolFastLoadfalseหลีกเลี่ยงการเรนเดอร์สไลด์แรกขณะเปิด; ใช้เมตาดาต้าและเรนเดอร์ตามความต้องการ.
PdfConfigPdfConfignew instanceการตั้งค่าสำหรับพฤติกรรม PDF/การค้นหา.
stringFontInfo""ข้อมูลการทดแทนฟอนต์.
string[]?FontFoldersnullไดเรกทอรีฟอนต์เพิ่มเติม.
boolAllowSearchfalseมอบหมายให้ PdfConfig.AllowSearch.
boolAllowCopyfalseมอบหมายให้ PdfConfig.AllowCopy.

ติดตั้งฟอนต์ที่งานนำเสนอใช้บนเซิร์ฟเวอร์, หรือชี้ FontFolders ไปยังโฟลเดอร์ที่เก็บฟอนต์เหล่านั้น. Windows Server ที่ไม่มี Office จะมีฟอนต์น้อยกว่าคอมพิวเตอร์สำหรับพัฒนามาก, และฟอนต์ที่หายไปจะถูกทดแทนโดยไม่มีข้อผิดพลาดใด ๆ.

CadConfig

รูปแบบ: DWG, DXF, DGN. DPI เริ่มต้น: 200.

ประเภทคุณสมบัติค่าเริ่มต้นพฤติกรรม
boolDefaultRendertrueการเรนเดอร์ CAD แบบดั้งเดิม; false ใช้การเปลี่ยนเส้นทางเป็น PDF.
PdfConfigPdfConfignew instanceการตั้งค่าเส้นทาง PDF.
boolExportPdfAfalseผลลัพธ์ PDF/A สำหรับการเก็บถาวร.
boolShowColortrueสีแทนการเป็นโมโนโครม.
boolWhiteBackgroundtrueพื้นหลังสีขาวแทนสีดำ.
shortLineWidth25ความกว้างของเส้น CAD.
boolShowLayoutsfalseเรนเดอร์แท็บเลย์เอาต์.
boolShowModeltrueเรนเดอร์พื้นที่โมเดล.
boolCheck3DSolidtrueประมวลผลโซลิด 3D.
boolExportAllLayoutsfalseส่งออกทุกเลย์เอาต์, ลบการเลือกโมเดล/เลย์เอาต์.
boolLimitMinimumSizefalseใช้ MinimumSize.
intMinimumSize700ขนาดผลลัพธ์ขั้นต่ำเป็นพิกเซล.
boolLimitMaximumSizefalseใช้ MaximumSize.
intMaximumSize700ขนาดผลลัพธ์สูงสุดเป็นพิกเซล.
boolShowAllLayoutsDgnfalseรวมทุกเลย์เอาต์ DGN.
boolAutomaticLayoutScalingtrueปรับสเกลเลย์เอาต์โดยอัตโนมัติ.
floatPdfMargins0.5ระยะขอบ PDF เป็นนิ้ว.
RenderQualityQualityImageLowคุณภาพเรสเตอร์: Low, Medium, หรือ High.
RenderQualityQualityTextMediumคุณภาพข้อความ: Low, Medium, หรือ High.

EmailConfig

รูปแบบ: EML, EMLX, MSG. DPI เริ่มต้น: 200.

ประเภทคุณสมบัติค่าเริ่มต้นพฤติกรรม
boolDefaultRendertrueการแสดงผลอีเมลแบบดั้งเดิม; false ใช้การเปลี่ยนเส้นทางเป็น PDF.
PdfConfigPdfConfignew instanceการตั้งค่าเส้นทาง PDF.
Encoding?EmailEncodingnullแทนที่การเข้ารหัสข้อความ.
Encoding?SubjectEncodingnullแทนที่การเข้ารหัสหัวเรื่อง.
Encoding?BodyEncodingnullแทนที่การเข้ารหัสเนื้อหา.
boolSkipExternalImagesfalseไม่โหลดภาพที่อ้างอิงจากระยะไกล. แนะนำสำหรับอีเมลที่ไม่น่าเชื่อถือ.
boolRemoveLastWhitePagefalseลบหน้าว่างที่ต่อท้าย.
boolUseAntiAliasingfalseเปิดใช้งานการลบรอยหยัก.
boolUseHighQualityRenderingfalseให้ความสำคัญกับการเรนเดอร์ที่สะอาดกว่าแต่ช้ากว่า.
TimeSpan?TimeZoneOffsetnullแทนที่เขตเวลาที่ใช้สำหรับวันที่.
boolForcePageSizefalseบังคับขนาดหน้าคงที่.

ImageConfig, TiffConfig, and PsdConfig

ImageConfig รองรับ JPG, JPEG, JPE, PNG, BMP, GIF, ICO, EPS, TGA, WEBP, CDR, CMX, DNG, EMF, WMF, AVIF และ SVG. DPI เริ่มต้นของมันคือ 100.

การกำหนดค่าคุณสมบัติค่าเริ่มต้นพฤติกรรม
ImageConfigMaxImagePixelSize3000ความกว้าง/ความสูงสูงสุด. 0 หมายถึงไม่จำกัด; ค่าที่ไม่เป็นศูนย์ที่ต่ำกว่า 50 จะถูกละเลย.
ImageConfigTransparentPngtrueรักษาความโปร่งใสของ PNG; false ใช้พื้นหลังสีขาว.
TiffConfigไม่มีคุณสมบัติเพิ่มเติมDPI 200ใช้เฉพาะ BaseConfig; รองรับ TIFF หลายหน้า.
PsdConfigMaxImagePixelSize3000การตรวจสอบเดียวกันกับ ImageConfig สำหรับ 0/ขั้นต่ำ 50; DPI เริ่มต้นคือ 100.

DicomConfig

รูปแบบ: DCM, IMA. DPI มีประสิทธิภาพเริ่มต้น: 100. ต้องการปลั๊กอิน DICOM. ในแพ็กเกจนี้ไฟล์ DICOM จะถูกแสดงผลเต็มรูปแบบ, แต่ข้อมูลเมตาเทคนิคไม่พร้อมใช้งาน — ดูที่ DICOM Plugin.

ประเภทคุณสมบัติค่าเริ่มต้นพฤติกรรม
intHorizontalResolution100 effectiveDPI แนวนอนที่ระบุโดยชัดเจน; หากไม่ระบุจะใช้ ImageResolution, แล้วจึง 100.
intVerticalResolution100 effectiveDPI แนวตั้งที่ระบุโดยชัดเจน; หากไม่ระบุจะใช้ ImageResolution, แล้วจึง 100.
intAnimationFrameDelayMs100ความหน่วงของแอนิเมชันหลายเฟรม; การจับเวลา GIF ใช้หน่วย 10 มิลลิวินาที.
ushortLoopCount00 หมุนวนตลอดไป; ค่าบวกจะหยุดหลังจากจำนวนครั้งนั้น.
DicomDisplayModeDisplayModeAnimationAndFramesAnimationOnly, FramesOnly, หรือภาพรวมผสมกับเฟรมคงที่.

TxtConfig

รูปแบบ: TXT. DPI เริ่มต้น: 200.

ประเภทคุณสมบัติค่าเริ่มต้นพฤติกรรม
DocPaperSizePaperSizeA4ขนาดกระดาษผลลัพธ์.
Encoding?FileEncodingnullnull ใช้ UTF-8.
stringFontInformation""ข้อมูลฟอนต์สำหรับการแสดงผลข้อความ.

ใช้ WordConfig เมื่อข้อความธรรมดาต้องการพฤติกรรมการจัดหน้าแบบละเอียดมากขึ้น.

ProjectConfig

รูปแบบ: MPP, MPPX, MPX. DPI เริ่มต้น: 200.

ประเภทคุณสมบัติค่าเริ่มต้นพฤติกรรม
boolDefaultRendertrueภาพ Gantt แบบดั้งเดิม; false ใช้เส้นทาง PDF แบบข้อความ.
PdfConfigPdfConfignew instanceการตั้งค่าเส้นทาง PDF.
boolExportPdfAtrueผลลัพธ์ PDF/A เพื่อการเก็บถาวร.
MppPaperSizePaperSizeLedgerขนาดกระดาษผลลัพธ์ของโครงการ.
MppTimeScaleTimeScaleMonthsDays หรือ Months.
MppFormatPresentationFormatGanttChartGanttChart, TaskUsage, ResourceUsage, ResourceSheet หรือ TaskSheet.

สำหรับการค้นหาโดยพิกัดข้อความที่แม่นยำ, ใช้ DefaultRender = false.

VisioConfig

รูปแบบ: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. DPI เริ่มต้น: 200.

ประเภทคุณสมบัติค่าเริ่มต้นพฤติกรรม
boolDefaultRendertrueการแสดงผลแผนภาพแบบดั้งเดิม; false ใช้การเปลี่ยนเส้นทางเป็น PDF.
PdfConfigPdfConfignew instanceการตั้งค่าเส้นทาง PDF.
boolExportPdfAtrueผลลัพธ์ PDF/A เพื่อการเก็บถาวร.

HtmlConfig, EpubConfig, MhtConfig, and XpsConfig

สี่ประเภทนี้ทั้งหมดมี DPI เริ่มต้นเป็น 200 และเปิดเผย PdfConfig ที่ซ้อนกัน.

การกำหนดค่ารูปแบบDefaultRenderคุณสมบัติเพิ่มเติม/พฤติกรรม
HtmlConfigHTML, HTMtrueการแสดงผลแบบดั้งเดิม; ใช้ false สำหรับเส้นทาง PDF แบบข้อความที่ค้นหาได้.
EpubConfigEPUBtrueการแสดงผลแบบดั้งเดิม; false ใช้ PDF.
MhtConfigMHT, MHTMLtrue บนคลาส; false ในแคตาล็อกอัตโนมัติการเปิดแบบไม่มีการกำหนดค่าปกติใช้การเปลี่ยนเส้นทางเป็น PDF ที่ค้นหาได้. อินสแตนซ์เริ่มต้นที่สร้างอย่างชัดเจนจะแสดงผลแบบดั้งเดิม.
XpsConfigXPSfalseใช้เส้นทาง PDF เป็นค่าเริ่มต้น; ตั้งค่า true เพื่อการแสดงผลภาพแบบดั้งเดิม.

ตัวอย่างการกำหนดค่าตามกลุ่ม

csharp
BaseConfig[] configs =
{
    new PdfConfig
    {
        AllowSearch = true,
        ExtractHyperlinks = true,
        HyperlinksPageCount = 0
    },
    new WordConfig
    {
        PaperSize = DocPaperSize.A4,
        RemovePaperMargin = false,
        FontFolders = new[] { HostingEnvironment.MapPath("~/App_Data/Fonts") },
        AllowSearch = true
    },
    new ExcelConfig
    {
        PaperLandscape = true,
        AutoFitContents = true,
        CalculateFormula = true,
        SplitWorksheets = false,
        PrintGridlines = false
    },
    new PptConfig
    {
        FastLoad = true,
        FontFolders = new[] { HostingEnvironment.MapPath("~/App_Data/Fonts") },
        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
    }
};

การเลือกตามส่วนขยาย

csharp
static BaseConfig ConfigForExtension(string extUpper)
{
    switch (extUpper)
    {
        case ".DOC": case ".DOCX": case ".DOT": case ".DOTX": case ".ODT":
            return new WordConfig
            {
                AutoFitAllTables = WordConfig.TableAutoFitBehavior.AutoFitToWindow,
                PaperSize = DocPaperSize.Tabloid,
                PdfConfig = new PdfConfig { ExtractHyperlinks = true, HyperlinksPageCount = 5, AllowCopy = true }
            };
        case ".PDF":
            return new PdfConfig { AllowSearch = true, AllowCopy = true };
        case ".XLS": case ".XLSX": case ".ODS": case ".CSV":
            return new ExcelConfig { AllowSearch = true, AllowCopy = true };
        case ".DCM": case ".IMA":
            return new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames };
        // DefaultRender = false → PDF redirect → pixel-accurate native text search
        case ".HTML": case ".HTM":
            return new HtmlConfig { DefaultRender = false };
        case ".EML": case ".EMLX": case ".MSG":
            return new EmailConfig { DefaultRender = false };
        default:
            return null; // fall back to the format's default config
    }
}

หน้านี้เป็นประโยชน์หรือไม่?