תצורות פורמט

אפשרויות רינדור מלאות לכל פורמט

כל מסמך נפתח עם מימוש של 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 לבקשות.
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.
PdfConfigPdfConfigמופע חדשהגדרות המשמשות בנתיב 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.
PdfConfigPdfConfigמופע חדשהגדרות לנתיב 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, כולם מחרוזות ניתנות לאפס.

new ExcelConfig() מגדיר SplitWorksheets ל‑false; פתיחת קובץ Excel ללא קונפיגורציה מפורשת משתמשת בקטלוג הפורמט, שמגדיר זאת ל‑true.

PptConfig

פורמטים: PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP. DPI ברירת מחדל: 200.

סוגמאפייןברירת מחדלהתנהגות
boolDefaultRendertrueרינדור שקופיות מקורי; false משתמש בהפנייה ל‑PDF.
boolFastLoadfalseנמנע מרינדור השקופית הראשונה בזמן פתיחה; משתמש במטא‑דטה ורינדור לפי דרישה.
PdfConfigPdfConfigמופע חדשהגדרות ל‑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.
PdfConfigPdfConfigמופע חדשהגדרות נתיב PDF.
boolExportPdfAfalseפלט PDF/A ארכיוני.
boolShowColortrueצבע במקום שחור‑לבן.
boolWhiteBackgroundtrueרקע לבן במקום שחור.
shortLineWidth25עובי קו CAD.
boolShowLayoutsfalseמציג כרטיסיות פריסות.
boolShowModeltrueמציג מרחב מודל.
boolCheck3DSolidtrueמעבד מוצקים תלת‑ממדיים.
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.
PdfConfigPdfConfigמופע חדשהגדרות נתיב 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 משמעותו ללא הגבלה; ערכים שונים מ‑0 מתחת ל‑50 מתעלמים.
ImageConfigTransparentPngtrueמשמר שקיפות PNG; false משתמש ברקע לבן.
TiffConfigno additional propertiesDPI 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 מבוסס טקסט.
PdfConfigPdfConfigמופע חדשהגדרות נתיב 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.
PdfConfigPdfConfigמופע חדשהגדרות נתיב PDF.
boolExportPdfAtrueפלט PDF/A ארכיוני.

HtmlConfig, EpubConfig, MhtConfig, and XpsConfig

הארבעה ברירת מחדל ל‑200 DPI ומציגים PdfConfig מקונן.

תצורהפורמטיםDefaultRenderמאפיינים/התנהגות נוספים
HtmlConfigHTML, HTMtrueרינדור מקורי; השתמש ב‑false לנתיב PDF מבוסס טקסט לחיפוש.
EpubConfigEPUBtrueרינדור מקורי; false משתמש ב‑PDF.
MhtConfigMHT, MHTMLtrue on the class; false in the automatic catalogהפתיחה ללא קונפיגורציה משתמשת בהפנייה ל‑PDF הניתנת לחיפוש. מופע ברירת מחדל שנבנה במפורש מרנדר באופן מקורי.
XpsConfigXPSfalseמשתמש בנתיב PDF כברירת מחדל; קבע true לרינדור תמונה מקורי.

Configuration examples by family

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

Per-extension selection

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

האם דף זה היה מועיל?