پیکربندیهای فرمت
گزینههای رندر کامل برای هر فرمت
هر سند با یک پیادهسازی BaseConfig باز میشود. یک مورد را به OpenDocumentAsync (یا OpenDocument) بدهید یا بگذارید فهرست فرمت پیشفرض خود را ایجاد کند. تمام کلاسهای زیر در فضای نام Doconut قرار دارند.
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
| نوع | ویژگی | پیشفرض | رفتار |
|---|---|---|---|
int | ImageResolution | 0 | 0 از پیشفرض فرمت استفاده میکند. بازه صریح معتبر ۲۵-۳۰۰ DPI است؛ انتسابهای نامعتبر نادیده گرفته میشوند. |
string | DocumentCulture | "" | محلی برای تاریخها و اعداد. مقادیر غیر خالی برش میشوند؛ انتسابهای خالی نادیده گرفته میشوند. |
string | Password | "" | رمز عبور سند محافظتشده. DocOptions.Password بهصورت خودکار اینجا کپی میشود. |
bool | ShowUI | true | ویژگی سازگاری؛ رندر کننده فعلی از آن برای کنترل نوار ابزار مرورگر استفاده نمیکند. |
bool | CachePages | true | کش کردن تصاویر صفحه رندر شده برای جلسه سند. |
PdfConfig
فرمتها: PDF. DPI پیشفرض: 200.
| نوع | ویژگی | پیشفرض | رفتار |
|---|---|---|---|
bool | DefaultRender | true | کلید سازگاری. کارخانه فعلی از نمایشگر بومی PDF استفاده میکند. |
bool | AllowSearch | false | ساخت/استفاده از فهرست جستجوی متن PDF. برای درخواستها نیاز به قابلیت مجوز Search دارد. |
bool | AllowCopy | false | اجازه عملیات انتخاب/کپی متن. |
bool | ExtractHyperlinks | false | استخراج مستطیلهای لینک برای پوششهای مشتری. |
int | HyperlinksPageCount | 0 | حداکثر صفحات اسکنشده برای لینکها؛ 0 به معنای تمام صفحات است. |
bool | CompressImages | false | فشردهسازی تصاویر جاسازیشده قبل از رندر. |
int | CompressQuality | 100 | کیفیت JPEG استفادهشده هنگام فعال بودن فشردهسازی. |
bool | ResizeImages | false | تغییر اندازه تصاویر جاسازیشده قبل از رندر. |
int | ResizeResolution | 300 | DPI هدف برای تصاویر تغییر اندازهیافته. |
bool | CompressFast | false | ترجیح مسیر فشردهسازی سریعتر و با کیفیت پایینتر. |
bool | FixInvalidImages | false | تلاش برای تعمیر تصاویر جاسازیشده نامعتبر. |
bool | SplitSegments | false | بازآوری کلمات تقسیمشده در بخشهای خط برای بهبود جستجو/کپی. |
showHyperlinks در ViewerConfig پوشش مشتری را کنترل میکند، در حالی که ExtractHyperlinks استخراج سرور را کنترل میکند. هر دو را فعال کنید.
WordConfig
فرمتها: DOC، DOCX، DOCM، DOT، DOTX، DOTM، RTF، ODT، OTT، XML. DPI پیشفرض: 200.
| نوع | ویژگی | پیشفرض | رفتار |
|---|---|---|---|
bool | DefaultRender | true | رندر بومی Word؛ false از بازگردانی PDF استفاده میکند. |
PdfConfig | PdfConfig | new instance | تنظیماتی که توسط مسیر PDF/جستجو استفاده میشود. |
DocPaperSize | PaperSize | A4 | اندازه کاغذ خروجی. از Custom با عرض/ارتفاع استفاده کنید. |
int | PaperWidth | 595 | عرض سفارشی به نقطه. |
int | PaperHeight | 841 | ارتفاع سفارشی به نقطه. |
bool | RemovePaperMargin | false | حذف حاشیههای صفحه سند. |
bool | RenderPageColor | true | حفظ رنگ صفحه پیکربندیشده در Word؛ false صفحات سفید را رندر میکند. |
bool | ExportPdfA | false | استفاده از PDF/A بایگانی در مسیر PDF. |
Encoding? | FileEncoding | null | بازنویسی رمزگذاری منبع. |
string | FontInfo | "" | اطلاعات جایگزینی قلم. |
string[]? | FontFolders | null | دایرکتوریهای قلم اضافی — مفید برای سروری که قلمهای مورد استفاده اسناد را ندارد. |
bool | AllowSearch | false | به PdfConfig.AllowSearch واگذار میشود. |
bool | AllowCopy | false | به PdfConfig.AllowCopy واگذار میشود. |
TableAutoFitBehavior | AutoFitAllTables | None | None، AutoFitToContents یا AutoFitToWindow. |
پیکربندی Excel
قالبها: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. DPI پیشفرض: 200.
| نوع | ویژگی | پیشفرض | رفتار |
|---|---|---|---|
bool | DefaultRender | true | رندر بومی شیت؛ false از تغییر مسیر PDF استفاده میکند. |
PdfConfig | PdfConfig | نمونه جدید | تنظیمات مسیر PDF/جستجو. |
ExcelPaperSize | PaperSize | PaperA4 | اندازه کاغذ خروجی. |
double | PaperMargins | 0.25 | حاشیههای صفحه به اینچ. |
bool | PaperLandscape | true | رندر شیت به حالت افقی. |
bool | AutoFitContents | false | تنظیم خودکار ارتفاع ردیفها و عرض ستونها. |
bool | RemoveEmptyContent | true | فشردهسازی خروجی با حذف محتوای خالی. |
bool | CalculateFormula | true | محاسبه مجدد فرمولها قبل از رندر. |
bool | ShowRowColumnHeaders | true | شامل کردن سرصفحههای صفحهگسترده. |
bool | ExportPdfA | false | استفاده از PDF/A در مسیر PDF. |
bool | SplitWorksheets | false | نگه داشتن برگهها به عنوان گروههای صفحه جداگانه. |
bool | ShowEmptyWorkSheets | false | شامل کردن برگههای خالی. |
bool | ExportLandscape | false | اجبار به خروجی افقی. |
bool | ExportOnePagePerSheet | false | متناسب کردن هر برگه با یک صفحه خروجی. |
bool | MemoryOptimizationPreference | true | کاهش حداکثر حافظه، ممکن است سرعتی را فدا کند. |
bool | AutoTrimWorksheetRenderRange | true | رندر فقط محدوده استفاده شده قابل مشاهده وقتی محدوده چاپ صریح وجود ندارد. |
bool | AutoTrimPreserveExistingPrintArea | true | حفظ نواحی چاپ تعریفشده در کتاب کار هنگام برش خودکار. |
string? | PrintArea | null | محدوده صریح مانند "A1:Z100". |
bool | PrintGridlines | false | چاپ خطوط شبکه برگه. |
bool | PrintHeadings | false | چاپ سرعنوان ردیف/ستون. |
List<string> | SheetNames | خالی | محدود کردن رندر به برگههای نامگذاریشده. |
CustomStyleCell? | CustomStyles | null | بازنویسیهای اختیاری قالببندی تاریخ/اعشار/عدد صحیح. |
bool | AllowSearch | false | به PdfConfig.AllowSearch واگذار میشود. |
bool | AllowCopy | false | به 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.
| نوع | ویژگی | پیشفرض | رفتار |
|---|---|---|---|
bool | DefaultRender | true | رندر بومی اسلاید؛ false از تغییر مسیر PDF استفاده میکند. |
bool | FastLoad | false | جلوگیری از رندر اسلاید اول هنگام باز کردن؛ استفاده از متادیتا و رندر بر حسب درخواست. |
PdfConfig | PdfConfig | نمونه جدید | تنظیمات رفتار PDF/جستجو. |
string | FontInfo | "" | اطلاعات جایگزینی قلم. |
string[]? | FontFolders | null | پوشههای قلم اضافی. |
bool | AllowSearch | false | به PdfConfig.AllowSearch واگذار میشود. |
bool | AllowCopy | false | به PdfConfig.AllowCopy واگذار میشود. |
قلمهای مورد استفاده در ارائهها را روی سرور نصب کنید، یا FontFolders را به پوشهای که آنها را نگه میدارد اشاره دهید. یک Windows Server بدون Office قلمهای بسیار کمتری نسبت به یک ماشین توسعه دارد و قلمهای گمشده بدون هیچ خطایی جایگزین میشوند.
پیکربندی Cad
قالبها: DWG, DXF, DGN. DPI پیشفرض: 200.
| نوع | ویژگی | پیشفرض | رفتار |
|---|---|---|---|
bool | DefaultRender | true | رندر بومی CAD؛ false از تغییر مسیر PDF استفاده میکند. |
PdfConfig | PdfConfig | نمونه جدید | تنظیمات مسیر PDF. |
bool | ExportPdfA | false | خروجی PDF/A بایگانی. |
bool | ShowColor | true | رنگ به جای تکرنگ. |
bool | WhiteBackground | true | پسزمینه سفید به جای سیاه. |
short | LineWidth | 25 | عرض خط CAD. |
bool | ShowLayouts | false | رندر تبهای طرحبندی. |
bool | ShowModel | true | رندر فضای مدل. |
bool | Check3DSolid | true | پردازش اجسام سهبعدی. |
bool | ExportAllLayouts | false | خروجی تمام طرحبندیها، نادیده گرفتن انتخاب مدل/طرحبندی. |
bool | LimitMinimumSize | false | اعمال MinimumSize. |
int | MinimumSize | 700 | حداقل اندازه خروجی به پیکسل. |
bool | LimitMaximumSize | false | اعمال MaximumSize. |
int | MaximumSize | 700 | حداکثر اندازه خروجی به پیکسل. |
bool | ShowAllLayoutsDgn | false | شامل تمام طرحبندیهای DGN. |
bool | AutomaticLayoutScaling | true | مقیاس خودکار طرحبندیها. |
float | PdfMargins | 0.5 | حاشیه PDF به اینچ. |
RenderQuality | QualityImage | Low | کیفیت رستر: Low، Medium یا High. |
RenderQuality | QualityText | Medium | کیفیت متن: Low، Medium یا High. |
پیکربندی ایمیل
قالبها: EML، EMLX، MSG. DPI پیشفرض: 200.
| نوع | ویژگی | پیشفرض | رفتار |
|---|---|---|---|
bool | DefaultRender | true | رندر بومی ایمیل؛ false از تغییر مسیر PDF استفاده میکند. |
PdfConfig | PdfConfig | نمونه جدید | تنظیمات مسیر PDF. |
Encoding? | EmailEncoding | null | بازنویسی رمزگذاری پیام. |
Encoding? | SubjectEncoding | null | بازنویسی رمزگذاری موضوع. |
Encoding? | BodyEncoding | null | بازنویسی رمزگذاری بدنه. |
bool | SkipExternalImages | false | بارگذاری تصاویر ارجاعدادهشده از راه دور انجام نشود. برای ایمیلهای غیرقابل اعتماد توصیه میشود. |
bool | RemoveLastWhitePage | false | حذف صفحه خالی انتهایی. |
bool | UseAntiAliasing | false | فعالسازی ضد لبهزدایی. |
bool | UseHighQualityRendering | false | ترجیح رندر تمیزتر و کندتر. |
TimeSpan? | TimeZoneOffset | null | بازنویسی منطقه زمانی استفادهشده برای تاریخها. |
bool | ForcePageSize | false | اجبار به ابعاد ثابت صفحه. |
پیکربندی تصویر، TiffConfig و PsdConfig
ImageConfig شامل JPG، JPEG، JPE، PNG، BMP، GIF، ICO، EPS، TGA، WEBP، CDR، CMX، DNG، EMF، WMF، AVIF و SVG است. DPI پیشفرض آن 100 است.
| پیکربندی | ویژگی | پیشفرض | رفتار |
|---|---|---|---|
ImageConfig | MaxImagePixelSize | 3000 | حداکثر عرض/ارتفاع. 0 به معنای نامحدود است؛ مقادیر غیرصفر زیر ۵۰ نادیده گرفته میشوند. |
ImageConfig | TransparentPng | true | حفظ شفافیت PNG؛ false از پسزمینه سفید استفاده میکند. |
TiffConfig | بدون ویژگیهای اضافی | DPI 200 | فقط از BaseConfig استفاده میکند؛ از TIFF چندصفحهای پشتیبانی میکند. |
PsdConfig | MaxImagePixelSize | 3000 | اعتبارسنجی همان 0/حداقل‑۵۰ مانند ImageConfig؛ DPI پیشفرض 100 است. |
پیکربندی Dicom
قالبها: DCM، IMA. DPI مؤثر پیشفرض: 100. نیاز به افزونه DICOM دارد. در این بسته فایلهای DICOM بهصورت کامل رندر میشوند، اما فرادادههای فنی در دسترس نیستند — مراجعه کنید به DICOM Plugin.
| نوع | ویژگی | پیشفرض | رفتار |
|---|---|---|---|
int | HorizontalResolution | 100 مؤثر | DPI افقی صریح؛ در غیر این صورت ImageResolution، سپس ۱۰۰. |
int | VerticalResolution | 100 مؤثر | DPI عمودی صریح؛ در غیر این صورت ImageResolution، سپس ۱۰۰. |
int | AnimationFrameDelayMs | 100 | تاخیر انیمیشن چندقابلی؛ زمانبندی GIF از واحدهای ۱۰ میلیثانیه استفاده میکند. |
ushort | LoopCount | 0 | 0 بهصورت نامحدود حلقه میزند؛ مقادیر مثبت پس از آن تعداد متوقف میشوند. |
DicomDisplayMode | DisplayMode | AnimationAndFrames | AnimationOnly، FramesOnly، یا نمای کلی ترکیبی بههمراه فریمهای ثابت. |
پیکربندی متن
قالب: TXT. DPI پیشفرض: 200.
| نوع | ویژگی | پیشفرض | رفتار |
|---|---|---|---|
DocPaperSize | PaperSize | A4 | اندازه کاغذ خروجی. |
Encoding? | FileEncoding | null | null از UTF-8 استفاده میکند. |
string | FontInformation | "" | اطلاعات قلم برای رندر متن. |
از WordConfig استفاده کنید وقتی متن ساده به رفتار پیشرفتهتری در چیدمان صفحه نیاز دارد.
پیکربندی پروژه
قالبها: MPP، MPPX، MPX. DPI پیشفرض: 200.
| نوع | ویژگی | پیشفرض | رفتار |
|---|---|---|---|
bool | DefaultRender | true | تصویر گانت بومی؛ false از مسیر PDF مبتنی بر متن استفاده میکند. |
PdfConfig | PdfConfig | نمونه جدید | تنظیمات مسیر PDF. |
bool | ExportPdfA | true | خروجی PDF/A بایگانی. |
MppPaperSize | PaperSize | Ledger | اندازه کاغذ خروجی پروژه. |
MppTimeScale | TimeScale | Months | Days یا Months. |
MppFormat | PresentationFormat | GanttChart | GanttChart، TaskUsage، ResourceUsage، ResourceSheet، یا TaskSheet. |
برای جستجوی دقیق متن‑مختصات، از DefaultRender = false استفاده کنید.
پیکربندی Visio
قالبها: VSD، VSDX، VSS، VSSX، VST، VSTX، VDX، VSX، VSDM. DPI پیشفرض: 200.
| نوع | ویژگی | پیشفرض | رفتار |
|---|---|---|---|
bool | DefaultRender | true | رندر بومی نمودار؛ false از تغییر مسیر PDF استفاده میکند. |
PdfConfig | PdfConfig | نمونه جدید | تنظیمات مسیر PDF. |
bool | ExportPdfA | true | خروجی PDF/A بایگانی. |
پیکربندی Html، Epub، Mht و Xps
هر چهار به طور پیشفرض DPI 200 دارند و یک PdfConfig تو در تو را افشا میکنند.
| پیکربندی | قالبها | DefaultRender | ویژگیها/رفتارهای اضافی |
|---|---|---|---|
HtmlConfig | HTML, HTM | true | رندر بومی؛ برای مسیر جستجوی PDF مبتنی بر متن از false استفاده کنید. |
EpubConfig | EPUB | true | رندر بومی؛ false از PDF استفاده میکند. |
MhtConfig | MHT, MHTML | true در کلاس؛ false در فهرست خودکار | باز کردن عادی بدون پیکربندی از تغییر مسیر PDF قابل جستجو استفاده میکند. یک نمونه پیشفرض بهصورت صریح ساختهشده بهصورت بومی رندر میشود. |
XpsConfig | XPS | false | بهطور پیشفرض از مسیر PDF استفاده میکند؛ برای رندر بومی تصویر true را تنظیم کنید. |
نمونههای پیکربندی بر حسب خانواده
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
}
};انتخاب بر حسب پسوند
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; // به پیکربندی پیشفرض فرمت بازگرد
}
}آیا این صفحه مفید بود؟