תצורות פורמט

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

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

תצורת דוא"ל

פורמטים: EML, EMLX, MSG. DPI ברירת מחדל: 200.

סוגמאפייןברירת מחדלהתנהגות
boolDefaultRendertrueהצגה מקומית של דוא"ל; false משתמש ב‑הפנייה ל‑PDF.
PdfConfigPdfConfigמופע חדשהגדרות נתיב PDF.
Encoding?EmailEncodingnullהחלפת קידוד ההודעה.
Encoding?SubjectEncodingnullהחלפת קידוד הנושא.
Encoding?BodyEncodingnullהחלפת קידוד הגוף.
boolSkipExternalImagesfalseאל תטען תמונות שמקושרות מרחוק. מומלץ עבור דוא"ל בלתי מהימן.
boolRemoveLastWhitePagefalseהסר דף ריק סופי.
boolUseAntiAliasingfalseהפעל אנטי‑אליאסינג.
boolUseHighQualityRenderingfalseהעדף רינדור נקי, איטי יותר.
TimeSpan?TimeZoneOffsetnullהחלף את אזור הזמן המשמש לתאריכים.
boolForcePageSizefalseהכרח ממדי דף קבועים.

תצורת תמונה, תצורת Tiff ותצורת Psd

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/minimum‑50 כמו ImageConfig; DPI ברירת המחדל הוא 100.

תצורת DICOM

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

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

תצורת טקסט

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

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

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

תצורת פרויקט

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

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

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

תצורת Visio

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

סוגמאפייןברירת מחדלהתנהגות
boolDefaultRendertrueרינדור דיאגרמה מקומי; false משתמש ב‑הפנייה ל‑PDF.
PdfConfigPdfConfigמופע חדשהגדרות נתיב PDF.
boolExportPdfAtrueפלט PDF/A ארכיוני.

תצורות Html, Epub, Mht ו‑Xps

כל הארבעה משתמשים ב‑200 DPI כברירת מחדל ומציגים 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 → חיפוש טקסט מקורי מדויק בפיקסלים
    ".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
    ".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
    _ => null // חזור לתצורת ברירת המחדל של הפורמט
};

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