תצורות פורמט

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

כל מסמך נפתח עם מימוש של 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 מועתק כאן אוטומטית.
boolShowUItruetrue מאפיין תאימות; המציג הנוכחי אינו משתמש בו לשליטה בסרגל הכלים של הדפדפן.
boolCachePagestruetrue שומר במטמון תמונות של דפים מרונדרים עבור סשן המסמך.

תצורת PDF (PdfConfig)

פורמטים: PDF. DPI ברירת מחדל: 200.

סוגמאפייןברירת מחדלהתנהגות
boolDefaultRendertruetrue מתג תאימות. המפעל הנוכחי משתמש במציג ה-PDF המקורי.
boolAllowSearchfalsefalse בונה/משתמש באינדקס חיפוש טקסט של PDF. דורש את יכולת הרישיון Search לבקשות.
boolAllowCopyfalsefalse מאפשר פעולות בחירת טקסט/העתקה.
boolExtractHyperlinksfalsefalse מחלץ ריבועים של קישורים עבור שכבות לקוח.
intHyperlinksPageCount00 מספר העמודים המרביים שנסרקו לחיפוש קישורים; 0 משמעותו כל העמודים.
boolCompressImagesfalsefalse מכווץ תמונות משובצות לפני הרינדור.
intCompressQuality100100 איכות JPEG המשמשת כאשר דחיסה מופעלת.
boolResizeImagesfalsefalse משנה גודל תמונות משובצות לפני הרינדור.
intResizeResolution300300 DPI יעד לתמונות בגודל מותאם.
boolCompressFastfalsefalse מעדיף את נתיב הדחיסה המהיר, באיכות נמוכה יותר.
boolFixInvalidImagesfalsefalse מנסה לתקן תמונות משובצות בלתי תקינות.
boolSplitSegmentsfalsefalse מאחד מילים שנפצלות על פני מקטעי שורה כדי לשפר חיפוש/העתקה.

showHyperlinks ב-ViewerConfig שולט בשכבת הלקוח, בעוד ExtractHyperlinks שולט בחילוץ בצד השרת. אפשר להפעיל את שניהם.

תצורת Word (WordConfig)

פורמטים: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. DPI ברירת מחדל: 200.

סוגמאפייןברירת מחדלהתנהגות
boolDefaultRendertruetrue רינדור 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.

תצורת Excel (ExcelConfig)

פורמטים: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. DPI ברירת מחדל: 200.

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

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

תצורת PPT (PptConfig)

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

סוגמאפייןברירת מחדלהתנהגות
boolDefaultRendertruetrue רינדור שקופיות מקורי; false משתמש בהפנייה ל-PDF.
boolFastLoadfalsefalse נמנע מרינדור השקופית הראשונה בזמן פתיחה; השתמש במטא-דטה ורנדר לפי דרישה.
PdfConfigPdfConfignew instanceהגדרות להתנהגות PDF/חיפוש.
stringFontInfo""מידע על החלפת גופנים.
string[]?FontFoldersnullספריות גופנים נוספות.
boolAllowSearchfalseמועבר ל-PdfConfig.AllowSearch.
boolAllowCopyfalseמועבר ל-PdfConfig.AllowCopy.

ב-Linux וב-macOS, רינדור מצגות עם המנוע הנוכחי דורש libgdiplus ו-System.Drawing.EnableUnixSupport=true. התקינו את הגופנים המשמשים במצגת או ספקו FontFolders.

תצורת CAD (CadConfig)

פורמטים: DWG, DXF, DGN. DPI ברירת מחדל: 200.

סוגמאפייןברירת מחדלהתנהגות
boolDefaultRendertruetrue רינדור 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.

סוגמאפייןברירת מחדלהתנהגות
boolDefaultRendertruetrue רינדור אימייל מקורי; false משתמש בהפנייה ל-PDF.
PdfConfigPdfConfignew instanceהגדרות נתיב PDF.
Encoding?EmailEncodingnullדרוס קידוד הודעה.
Encoding?SubjectEncodingnullדרוס קידוד נושא.
Encoding?BodyEncodingnullדרוס קידוד גוף.
boolSkipExternalImagesfalseאל טען תמונות המופנות מרחוק. מומלץ עבור אימיילים לא מהימנים.
boolRemoveLastWhitePagefalseהסר עמוד ריק סופי.
boolUseAntiAliasingfalseהפעל אנטי-אליאסינג.
boolUseHighQualityRenderingfalseהעדף רינדור נקי יותר אך איטי יותר.
TimeSpan?TimeZoneOffsetnullדרוס את אזור הזמן המשמש לתאריכים.
boolForcePageSizefalseהכרח ממדי עמוד קבועים.

תצורות תמונה, Tiff ו‑PSD (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 משתמש ברקע לבן.
TiffConfigללא מאפיינים נוספיםDPI 200משתמש רק ב-BaseConfig; תומך ב‑TIFF מרובה עמודים.
PsdConfigMaxImagePixelSize3000אותה ולידציה של 0/מינימום‑50 כמו ב‑ImageConfig; DPI ברירת מחדל הוא 100.

תצורת DICOM (DicomConfig)

פורמטים: DCM, IMA. DPI אפקטיבי ברירת מחדל: 100. דורש את תוסף DICOM.

סוגמאפייןברירת מחדלהתנהגות
intHorizontalResolution100 אפקטיביDPI אופקי מפורש; אחרת ImageResolution, ואז 100.
intVerticalResolution100 אפקטיביDPI אנכי מפורש; אחרת ImageResolution, ואז 100.
intAnimationFrameDelayMs100השהייה של אנימציית מרובה‑פריימים; תזמון GIF משתמש ביחידות של 10 מ״ש.
ushortLoopCount00 לולאה לנצח; ערכים חיוביים עוצרים אחרי ספירה זו.
DicomDisplayModeDisplayModeAnimationAndFramesAnimationOnly, FramesOnly, או תצוגה משולבת עם פריימים סטטיים.

תצורת TXT (TxtConfig)

פורמט: TXT. DPI ברירת מחדל: 200.

סוגמאפייןברירת מחדלהתנהגות
DocPaperSizePaperSizeA4גודל נייר פלט.
Encoding?FileEncodingnullnull משתמש ב‑UTF-8.
stringFontInformation""מידע על גופנים עבור רינדור טקסט.

השתמש ב‑WordConfig כאשר טקסט פשוט דורש התנהגות פריסת עמודים עשירה יותר.

תצורת פרויקט (ProjectConfig)

פורמטים: MPP, MPPX, MPX. DPI ברירת מחדל: 200.

סוגמאפייןברירת מחדלהתנהגות
boolDefaultRendertruetrue תמונת Gantt מקורית; false משתמש בנתיב PDF מבוסס טקסט.
PdfConfigPdfConfignew instanceהגדרות נתיב PDF.
boolExportPdfAtruetrue פלט PDF/A ארכיוני.
MppPaperSizePaperSizeLedgerגודל נייר פלט של הפרויקט.
MppTimeScaleTimeScaleMonthsDays או Months.
MppFormatPresentationFormatGanttChartGanttChart, TaskUsage, ResourceUsage, ResourceSheet, או TaskSheet.

לחיפוש מדויק לפי קואורדינטות טקסט, השתמש ב‑DefaultRender = false.

תצורת Visio (VisioConfig)

פורמטים: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. DPI ברירת מחדל: 200.

סוגמאפייןברירת מחדלהתנהגות
boolDefaultRendertruetrue רינדור דיאגרמה מקורי; false משתמש בהפנייה ל-PDF.
PdfConfigPdfConfignew instanceהגדרות נתיב PDF.
boolExportPdfAtruetrue פלט PDF/A ארכיוני.

תצורות HTML, EPUB, MHT ו‑XPS (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 = ["/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
    }
];

בחירת קונפיגורציה לפי סיומת

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

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