تكوينات التنسيق
خيارات العرض الكاملة لكل تنسيق
يفتح كل مستند باستخدام تنفيذ 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 يستخدم الافتراضي الخاص بالتنسيق. النطاق الصريح الصالح هو 25-300 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 | كائن جديد | الإعدادات المستخدمة في مسار 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 | empty | تقييد العرض إلى الأوراق المسماة. |
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 بدون 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. |
EmailConfig
الصيغ: 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 | فرض أبعاد صفحة ثابتة. |
ImageConfig, TiffConfig, and 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 يعني غير محدود؛ القيم غير الصفرية الأقل من 50 تُتجاهل. |
ImageConfig | TransparentPng | true | الحفاظ على شفافية PNG؛ false يستخدم خلفية بيضاء. |
TiffConfig | لا توجد خصائص إضافية | DPI 200 | يستخدم فقط BaseConfig؛ يدعم TIFF متعدد الصفحات. |
PsdConfig | MaxImagePixelSize | 3000 | نفس التحقق 0/الحد الأدنى 50 كما في ImageConfig؛ DPI الافتراضي هو 100. |
DicomConfig
الصيغ: DCM، IMA. DPI الفعّال الافتراضي: 100. يتطلب ملحق DICOM. في هذه الحزمة يتم عرض ملفات DICOM بالكامل، لكن البيانات الوصفية التقنية غير متاحة — راجع ملحق DICOM.
| النوع | الخاصية | الافتراضي | السلوك |
|---|---|---|---|
int | HorizontalResolution | 100 فعّال | DPI أفقي صريح؛ وإلا يستخدم ImageResolution، ثم 100. |
int | VerticalResolution | 100 فعّال | DPI عمودي صريح؛ وإلا يستخدم ImageResolution، ثم 100. |
int | AnimationFrameDelayMs | 100 | تأخير الرسوم المتحركة متعددة الإطارات؛ توقيت GIF يستخدم وحدات 10 مللي ثانية. |
ushort | LoopCount | 0 | 0 يعني تكرار إلى الأبد؛ القيم الموجبة تتوقف بعد هذا العدد. |
DicomDisplayMode | DisplayMode | AnimationAndFrames | AnimationOnly، FramesOnly، أو نظرة عامة مركبة مع إطارات ثابتة. |
TxtConfig
الصيغة: TXT. DPI الافتراضي: 200.
| النوع | الخاصية | الافتراضي | السلوك |
|---|---|---|---|
DocPaperSize | PaperSize | A4 | حجم ورق الإخراج. |
Encoding? | FileEncoding | null | null يستخدم UTF-8. |
string | FontInformation | "" | معلومات الخط لتصوير النص. |
استخدم WordConfig عندما يحتاج النص العادي إلى سلوك تخطيط صفحة أكثر غنى.
ProjectConfig
الصيغ: MPP، MPPX، MPX. DPI الافتراضي: 200.
| النوع | الخاصية | الافتراضي | السلوك |
|---|---|---|---|
bool | DefaultRender | true | صورة Gantt الأصلية؛ 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.
VisioConfig
الصيغ: VSD، VSDX، VSS، VSSX، VST، VSTX، VDX، VSX، VSDM. DPI الافتراضي: 200.
| النوع | الخاصية | الافتراضي | السلوك |
|---|---|---|---|
bool | DefaultRender | true | عرض المخطط الأصلي؛ false يستخدم إعادة توجيه PDF. |
PdfConfig | PdfConfig | مثال جديد | إعدادات مسار PDF. |
bool | ExportPdfA | true | إخراج PDF/A أرشيفي. |
HtmlConfig, EpubConfig, MhtConfig, and XpsConfig
جميع الأربعة الافتراضية إلى DPI 200 وتكشف عن PdfConfig متداخل.
| الإعداد | الصيغ | DefaultRender | خصائص/سلوك إضافي |
|---|---|---|---|
HtmlConfig | HTML, HTM | true | العرض الأصلي؛ استخدم false لمسار PDF نصي قابل للبحث. |
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 redirect → pixel-accurate native text search
case ".HTML": case ".HTM":
return new HtmlConfig { DefaultRender = false };
case ".EML": case ".EMLX": case ".MSG":
return new EmailConfig { DefaultRender = false };
default:
return null; // fall back to the format's default config
}
}هل كانت هذه الصفحة مفيدة؟