תצורות פורמט

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

כל מסמך נפתח עם מימוש של BaseConfig. ניתן להעביר אחד ל-OpenDocumentAsync או לאפשר לקטלוג הפורמט ליצור את ברירת המחדל שלו. כל המחלקות שלהלן נמצאות במרחב השמות Doconut.

מרחב שם יחיד זה הוא חדש. ספריית .NET Standard הקודמת פיזרה סוגים אלה על פני Doconut.Configs, Doconut.Configs.View, ו-Doconut.Models. השמות הסוגים לא השתנו — ברוב הקבצים השינוי כולו הוא מחיקת שתי שורות using. ראה את מדריך ההגירה.

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ספריות גופנים נוספות, במיוחד שימושיות ב-Linux/קונטיינרים.
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>SheetNamesריקהגבלת הרינדור לגיליונות בעלי שם.
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הימנעות מרינדור השקף הראשון בעת פתיחה; שימוש במטא‑דטה ורינדור לפי דרישה.
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עיבוד מוצקים תלת‑ממדיים.
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, ו‑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 מ״ש.
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, ו‑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
};

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