การกำหนดค่ารูปแบบ

ตัวเลือกการเรนเดอร์สำหรับแต่ละรูปแบบอย่างครบถ้วน

ทุกเอกสารจะเปิดด้วยการใช้งาน BaseConfig ส่งออบเจ็กต์นี้ไปยัง OpenDocumentAsync หรือให้แคตาล็อกรูปแบบสร้างค่าเริ่มต้นของมันเอง คลาสทั้งหมดด้านล่างอยู่ในเนมสเปซ 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 license เพื่อทำคำขอ
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ไดเรกทอรีฟอนต์เพิ่มเติม, มีประโยชน์มากใน Linux/containers
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การเขียนทับรูปแบบวันที่/ทศนิยม/จำนวนเต็ม (nullable)
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

บน Linux และ macOS การเรนเดอร์งานนำเสนอด้วยเอนจินปัจจุบันต้องใช้ libgdiplus และ System.Drawing.EnableUnixSupport=true ติดตั้งฟอนต์ที่งานนำเสนอใช้หรือระบุ FontFolders

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การตรวจสอบ 0/ขั้นต่ำ 50 เหมือน ImageConfig; DPI เริ่มต้นคือ 100

DicomConfig

รูปแบบ: DCM, IMA. DPI มีประสิทธิภาพเริ่มต้น: 100. ต้องใช้ปลั๊กอิน DICOM

ประเภทคุณสมบัติค่าเริ่มต้นพฤติกรรม
intHorizontalResolution100 effectiveDPI แนวนอนที่กำหนดโดยชัดเจน; ถ้าไม่มีจะใช้ ImageResolution แล้วจึงเป็น 100
intVerticalResolution100 effectiveDPI แนวตั้งที่กำหนดโดยชัดเจน; ถ้าไม่มีจะใช้ ImageResolution แล้วจึงเป็น 100
intAnimationFrameDelayMs100ความหน่วงของเฟรมแอนิเมชันหลายเฟรม; การจับเวลา GIF ใช้หน่วย 10 ms
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[] { "/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
    }
};

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

csharp
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
};

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