پیکربندی‌های فرمت

گزینه‌های رندر کامل برای هر فرمت

هر سند با یک پیاده‌سازی BaseConfig باز می‌شود. یک مورد را به OpenDocumentAsync (یا OpenDocument) بدهید یا بگذارید فهرست فرمت پیش‌فرض خود را ایجاد کند. تمام کلاس‌های زیر در فضای نام 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 از پیش‌فرض فرمت استفاده می‌کند. بازه صریح معتبر ۲۵-۳۰۰ 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دایرکتوری‌های قلم اضافی — مفید برای سروری که قلم‌های مورد استفاده اسناد را ندارد.
boolAllowSearchfalseبه PdfConfig.AllowSearch واگذار می‌شود.
boolAllowCopyfalseبه PdfConfig.AllowCopy واگذار می‌شود.
TableAutoFitBehaviorAutoFitAllTablesNoneNone، AutoFitToContents یا AutoFitToWindow.

پیکربندی Excel

قالب‌ها: 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 را که همه رشته‌های قابل‌null هستند، افشا می‌کند.

new ExcelConfig() مقدار SplitWorksheets را به false تنظیم می‌کند؛ باز کردن یک فایل Excel بدون پیکربندی صریح از فهرست قالب‌ها استفاده می‌کند که آن را به true تنظیم می‌نماید.

پیکربندی Ppt

قالب‌ها: 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 واگذار می‌شود.

قلم‌های مورد استفاده در ارائه‌ها را روی سرور نصب کنید، یا FontFolders را به پوشه‌ای که آن‌ها را نگه می‌دارد اشاره دهید. یک Windows Server بدون Office قلم‌های بسیار کمتری نسبت به یک ماشین توسعه دارد و قلم‌های گمشده بدون هیچ خطایی جایگزین می‌شوند.

پیکربندی Cad

قالب‌ها: 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اجبار به ابعاد ثابت صفحه.

پیکربندی تصویر، TiffConfig و PsdConfig

ImageConfig شامل JPG، JPEG، JPE، PNG، BMP، GIF، ICO، EPS، TGA، WEBP، CDR، CMX، DNG، EMF، WMF، AVIF و SVG است. DPI پیش‌فرض آن 100 است.

پیکربندیویژگیپیش‌فرضرفتار
ImageConfigMaxImagePixelSize3000حداکثر عرض/ارتفاع. 0 به معنای نامحدود است؛ مقادیر غیرصفر زیر ۵۰ نادیده گرفته می‌شوند.
ImageConfigTransparentPngtrueحفظ شفافیت PNG؛ false از پس‌زمینه سفید استفاده می‌کند.
TiffConfigبدون ویژگی‌های اضافیDPI 200فقط از BaseConfig استفاده می‌کند؛ از TIFF چندصفحه‌ای پشتیبانی می‌کند.
PsdConfigMaxImagePixelSize3000اعتبارسنجی همان 0/حداقل‑۵۰ مانند ImageConfig؛ DPI پیش‌فرض 100 است.

پیکربندی Dicom

قالب‌ها: DCM، IMA. DPI مؤثر پیش‌فرض: 100. نیاز به افزونه DICOM دارد. در این بسته فایل‌های DICOM به‌صورت کامل رندر می‌شوند، اما فراداده‌های فنی در دسترس نیستند — مراجعه کنید به DICOM Plugin.

نوعویژگیپیش‌فرضرفتار
intHorizontalResolution100 مؤثرDPI افقی صریح؛ در غیر این صورت ImageResolution، سپس ۱۰۰.
intVerticalResolution100 مؤثرDPI عمودی صریح؛ در غیر این صورت ImageResolution، سپس ۱۰۰.
intAnimationFrameDelayMs100تاخیر انیمیشن چندقابلی؛ زمان‌بندی GIF از واحدهای ۱۰ میلی‌ثانیه استفاده می‌کند.
ushortLoopCount00 به‌صورت نامحدود حلقه می‌زند؛ مقادیر مثبت پس از آن تعداد متوقف می‌شوند.
DicomDisplayModeDisplayModeAnimationAndFramesAnimationOnly، FramesOnly، یا نمای کلی ترکیبی به‌همراه فریم‌های ثابت.

پیکربندی متن

قالب: TXT. DPI پیش‌فرض: 200.

نوعویژگیپیش‌فرضرفتار
DocPaperSizePaperSizeA4اندازه کاغذ خروجی.
Encoding?FileEncodingnullnull از UTF-8 استفاده می‌کند.
stringFontInformation""اطلاعات قلم برای رندر متن.

از WordConfig استفاده کنید وقتی متن ساده به رفتار پیشرفته‌تری در چیدمان صفحه نیاز دارد.

پیکربندی پروژه

قالب‌ها: MPP، MPPX، MPX. DPI پیش‌فرض: 200.

نوعویژگیپیش‌فرضرفتار
boolDefaultRendertrueتصویر گانت بومی؛ 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

هر چهار به طور پیش‌فرض DPI 200 دارند و یک PdfConfig تو در تو را افشا می‌کنند.

پیکربندیقالب‌هاDefaultRenderویژگی‌ها/رفتارهای اضافی
HtmlConfigHTML, HTMtrueرندر بومی؛ برای مسیر جستجوی PDF مبتنی بر متن از false استفاده کنید.
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[] { HostingEnvironment.MapPath("~/App_Data/Fonts") },
        AllowSearch = true
    },
    new ExcelConfig
    {
        PaperLandscape = true,
        AutoFitContents = true,
        CalculateFormula = true,
        SplitWorksheets = false,
        PrintGridlines = false
    },
    new PptConfig
    {
        FastLoad = true,
        FontFolders = new[] { HostingEnvironment.MapPath("~/App_Data/Fonts") },
        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)
{
    switch (extUpper)
    {
        case ".DOC": case ".DOCX": case ".DOT": case ".DOTX": case ".ODT":
            return new WordConfig
            {
                AutoFitAllTables = WordConfig.TableAutoFitBehavior.AutoFitToWindow,
                PaperSize = DocPaperSize.Tabloid,
                PdfConfig = new PdfConfig { ExtractHyperlinks = true, HyperlinksPageCount = 5, AllowCopy = true }
            };
        case ".PDF":
            return new PdfConfig { AllowSearch = true, AllowCopy = true };
        case ".XLS": case ".XLSX": case ".ODS": case ".CSV":
            return new ExcelConfig { AllowSearch = true, AllowCopy = true };
        case ".DCM": case ".IMA":
            return new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames };
        // DefaultRender = false → تغییر مسیر PDF → جستجوی متن بومی با دقت پیکسل
        case ".HTML": case ".HTM":
            return new HtmlConfig { DefaultRender = false };
        case ".EML": case ".EMLX": case ".MSG":
            return new EmailConfig { DefaultRender = false };
        default:
            return null; // به پیکربندی پیش‌فرض فرمت بازگرد
    }
}

آیا این صفحه مفید بود؟