نحن سعداء بالإعلان عن إصدار GroupDocs.Conversion for .NET v26.10، المتاح اعتبارًا من أكتوبر 2026. يركز هذا الإصدار على التحكم فيما يُسمح للمستند بتحميله: يمكن الآن لكودك أن يقرر بشأن كل مورد خارجي يطلبه المستند، وتكون الإعدادات الافتراضية آمنة للمستندات من مصادر غير معروفة. كما يجعل التحويلات تحترم تنسيق الإخراج المطلوب واختيار الصفحات، ويُصلح مجموعة من فشل التحويلات ومشكلات تحميل .NET Framework، ويُحدّث تبعية حساسة للأمان — إجمالي 60 ميزة، تحسينًا، وإصلاحًا للأخطاء.
أبرز الميزات
قرر ما يمكن لكل مستند تحميله
غالبًا ما تشير المستندات إلى موارد خارجية: صور على CDN، أوراق أنماط، سكريبتات، قواميس 3D، تصنيفات XBRL. في الإصدار 26.10 يمكنك رؤية كل طلب من هذه الطلبات وتحديد ما يجب فعله في الكود. نفّذ IExternalResourceHandler واضبطه عبر خاصية ExternalResourceHandler في خيارات التحميل. يتلقى المعالج كل مورد مع القرار الافتراضي مملوءًا مسبقًا، ويمكنه السماح به، تخطيه أو — لمعظم الصيغ — توفير المحتوى نفسه، على سبيل المثال من ذاكرة التخزين المؤقت الخاصة بك، بحيث لا يُطلب شيء على الإطلاق.
هذا المعالج يحمل صور JPEG من مضيف موثوق واحد فوق ما تسمح به الإعدادات الافتراضية:
public class TrustedJpegHandler : IExternalResourceHandler
{
public void OnLoading(ExternalResourceLoadingArgs args)
{
Uri uri;
if (Uri.TryCreate(args.Uri, UriKind.Absolute, out uri)
&& uri.Scheme == Uri.UriSchemeHttps
&& string.Equals(uri.Host, "cdn.example.com", StringComparison.OrdinalIgnoreCase)
&& (uri.AbsolutePath.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase)
|| uri.AbsolutePath.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase)))
{
args.Skipped = false;
}
}
}
WebLoadOptions loadOptions = new WebLoadOptions
{
ExternalResourceHandler = new TrustedJpegHandler()
};
using (Converter converter = new Converter("sample.html", (LoadContext loadContext) => loadOptions))
{
converter.Convert("converted.pdf", new PdfConvertOptions());
}
يعمل المعالج مع خيارات التحميل للويب، XML، معالجة النصوص، الجداول، CSV و TSV، العروض التقديمية، البريد الإلكتروني، SVG، المالية ومستندات 3D.
إعدادات افتراضية آمنة للمستندات غير الموثوقة
يجب ألا يؤدي تحويل ملف تم رفعه إلى جعل الخادم يقرأ ملفات أخرى أو يتصل بمضيفين عشوائيين. مع الإعدادات الافتراضية في 26.10:
- يحمل الملفات المحلية فقط من مجلد المستند نفسه، ولا يحمّل أبدًا من مسارات UNC؛
- لا ينفّذ السكريبتات في مستندات HTML، MHTML، XHTML و SVG، ولا يطلب ملفات سكريبت؛
- يطبق نفس القواعد على SVG، نماذج 3D، XBRL، XSL-FO، Markdown وتحويلات البريد الإلكتروني إلى جداول.
عندما تحتاج مستنداتك إلى موارد خارجية بشكل مشروع، يمكنك السماح بها بالطريقة التي تناسبك: أدرج المواقع الموثوقة في WhitelistedResources، قرّر لكل مورد عبر المعالج، أو اضبط SkipExternalResources = false للمستندات التي تثق بها. تُنفّذ السكريبتات فقط عندما تضبط ExecuteScripts = true على WebLoadOptions أو SvgLoadOptions. لا تُحمّل مسارات UNC ولا مراجع javascript: أو vbscript: أبدًا، بغض النظر عن الإعدادات.
الإخراج الذي طلبته
تجاهلت بعض التحويلات جزءًا من الطلب. كان العديد منها يكتب دائمًا DOCX أو XLSX أو PPTX أو TIFF متعدد الإطارات بغض النظر عن تنسيق الهدف الذي اخترته، وكان اختيار الصفحات يُتجاهل في تحويلات البريد الإلكتروني، الويب و TIFF متعدد الصفحات إلى معالجة النصوص، وفي مستندات Word Flat OPC، وفي تحويل Project إلى PS و PCL. الآن جميعها تنتج ما تطلبه خيارات التحويل. كما تظهر العلامات المائية الآن عند تحويل مستندات غير صور إلى صور، وعند تحويل CSV و TSV، وتُظهر صفحات MHT و MHTML بدلاً من مصدر MIME، ولا تتحول الخلفيات الشفافة إلى سوداء في مخرجات J2K، JP2، WMF و WMZ.
تقليل فشل التحويلات
ملفات PostScript التي تستخدم المشغل run أو file على .NET Framework، ومستندات PSD، PSB و AI صفحة بصفحة، ورسومات CAD كاملة إلى TeX، و XHTML مع SVG مدمج، و PDF، XPS و SVG إلى EPUB، و Visio و SVG إلى جداول الآن تتحول بدلاً من الفشل. في ملفات البريد الإلكتروني، صندوق البريد والأرشيف، لم يعد المرفق الذي لا يمكن تحويله إلى تنسيق الهدف يتسبب في فشل التحويل بالكامل، والوثيقة المضمنة التي لا يمكن تحميلها تُبلّغ الآن عبر ConversionEvents.OnDocumentFailed.
الأمان، الترخيص و .NET Framework
- ينتقل System.Security.Cryptography.Pkcs إلى 8.0.2 (10.0.13 على .NET 10)، مع معالجة CVE-2026-84008 و CVE-2026-70162.
- لم تعد مشاريع .NET Framework تفشل في تحميل RuntimeInformation أو ValueTuple، ولم تعد تحويلات EML، HTML و CAD تفشل على .NET Framework 4.6.2 إلى 4.7.0.
- لم تعد تحويلات WebP مع ترخيص صالح تحمل شارة التجربة. في وضع التقييم، يُطبق حد الـ 3 صفحات الآن أيضًا على مخرجات SVG، SVGZ، PS و PCL.
ما هو الجديد في هذا الإصدار
- [Feature] إضافة رد نداء لكل مورد لتفقده، السماح به، رفضه أو توفيره لكل مورد خارجي يحمل المستنده
- [Improvement] تقديم SvgLoadOptions كخيارات تحميل لمستندات SVG و SVGZ
- [Improvement] تسمية عناصر OLM و NSF بدون موضوع حسب المجلد والموضع وتجنب أسماء أجهزة Windows المحجوزة في أسماء عناصر صندوق البريد
- [Improvement] الإبلاغ عن عناصر الأرشيف، البريد الإلكتروني وصندوق البريد التي لا يمكن تحميلها إلى معالج الفشل في الوثيقة بدلاً من تسجيلها فقط
- [Bug] تُطبق شارة التجربة عند التحويل من Webp حتى عندما يُطبق ترخيص صالح
- [Bug] تحويل ملف VSDX محدد - النص خارج حدود الصندوق
- [Bug] عدم الحفاظ على النص المشطوب المزدوج في تحويل ODT إلى PDF
- [Bug] مشاكل تحويل VCF إلى Excel
- [Bug] إصلاح فشل التحويلات في تحميل RuntimeInformation في مشاريع .NET Framework القديمة 4.7.1+ التي تستخدم PackageReference
- [Bug] إصلاح فشل التحويلات في تحميل RuntimeInformation أو ValueTuple في مشاريع .NET Framework التي تستخدم packages.config
- [Bug] إصلاح فشل تحويلات EML، HTML و CAD على بيئات .NET Framework 4.6.2 إلى 4.7.0
- [Bug] تحويل مستندات WordProcessing، Pdf و ProjectManagement إلى أي صيغة جدول دائمًا ينتج XLSX
- [Bug] تحويل مستندات WordProcessing، Pdf و Diagram إلى أي صيغة عرض دائمًا ينتج PPTX
- [Bug] إصلاح فشل تحويل PST، OST و MBOX على عنصر بدون موضوع وملاحظات PST اللاصقة التي تتحول إلى نص غير قابل للقراءة
- [Bug] تحويل مستند صفحة واحدة إلى صيغة صورة غير TIFF دائمًا ينتج TIFF متعدد الإطارات
- [Bug] [GroupDocs.Conversion for .NET] تحديث System.Security.Cryptography.Pkcs إلى 8.0.2 (CVE-2026-84008 / CVE-2026-70162)
- [Bug] لا تُطبق العلامة المائية النصية أو الصورية عند تحويل مستندات غير صور إلى صور
- [Bug] يتحول خلفية الصفحة الشفافة إلى سوداء عند التحويل إلى J2K، JP2، WMF و WMZ
- [Bug] مخرجات WMZ للمستندات المستندة إلى Word تحتوي على PNG مضغوط gzip ومخرجات EMZ للصور مضغوطة مرتين
- [Bug] صفحات MHT و MHTML المحوّلة إلى صور تُظهر مصدر MIME بدلاً من الصفحة
- [Bug] معلومات المستند لمستند Publisher دائمًا تُظهر صفحة واحدة
- [Bug] لا تُطبق العلامة المائية عند تحويل مستندات CSV و TSV
- [Bug] تحميل الموارد الخارجية فقط من بادئات URL المدرجة في القائمة البيضاء ومجلد المستند نفسه، ولا من مسارات UNC
- [Bug] إصلاح CAD، Image، Diagram، DjVu، VCF و Email إلى WordProcessing التي تحفظ DOCX لكل هدف باستثناء DOC
- [Bug] إصلاح Email إلى WordProcessing الذي يتجاهل اختيار الصفحات ونطاق الصفحات
- [Bug] إصلاح TIFF متعدد الصفحات إلى WordProcessing الذي يتجاهل اختيار الصفحات
- [Bug] احترام SkipExternalResources و WhitelistedResources عند تحويل مستندات Markdown و CHM
- [Bug] احترام SkipExternalResources و WhitelistedResources في تحويل البريد الإلكتروني إلى جدول، الجداول ونطاق الصفحات
- [Bug] عدم تحميل الصور من خارج مجلد المستند افتراضيًا عند تحويل HTML إلى جدول
- [Bug] عدم تحميل الموارد الخارجية افتراضيًا عند تحويل SVG إلى عرض، معالجة نصوص، جدول، XPS أو EPS
- [Bug] عدم تحميل مكتبات مواد 3D، القوام والذاكرات من خارج مجلد النموذج افتراضيًا
- [Bug] عدم تحميل الصور الخارجية افتراضيًا عند تحويل XML عبر ورقة أنماط XSL-FO
- [Bug] إصلاح حفظ HTML و MHTML إلى WordProcessing كـ DOCX لكل هدف
- [Bug] عدم تحميل تصنيفات XBRL و XBRL المدمجة من خارج مجلد المستند افتراضيًا
- [Bug] إيقاف تشغيل السكريبتات وتنزيل ملفات السكريبت عند تحويل مستندات HTML، XHTML و SVG
- [Bug] إصلاح Web إلى WordProcessing الذي يتجاهل اختيار الصفحات ونطاق الصفحات
- [Bug] إصلاح مستندات Word Flat OPC التي تتجاهل اختيار الصفحات ونطاق الصفحات
- [Bug] عدم تضمين القوام من خارج مجلد النموذج افتراضيًا عند تحويل مستندات 3D
- [Bug] إصلاح أرشيفات الضغط أحادية التدفق التي تحوّل ملفًا بدون اسم
- [Bug] إصلاح جلب مراجع javascript: و vbscript: عندما يُسمح بالموارد الخارجية
- [Bug] إصلاح فشل تحويل مستندات XHTML التي تحتوي على SVG مدمج
- [Bug] إصلاح فشل تحويل HTML إلى HTML عندما لا يمكن تحميل CSS @import نسبي
- [Bug] إصلاح فشل تحويل Visio و SVG إلى جدول على صفحة لا تحتوي على شيء للرسم
- [Bug] إصلاح فشل تحويل PDF، XPS و SVG إلى EPUB على ارتباط تشعبي لا يغطي نصًا
- [Bug] إصلاح فشل تحويل البريد الإلكتروني، صندوق البريد والأرشيف على مرفق لا يمكن تحويله إلى تنسيق الهدف
- [Bug] إصلاح تحويل PCL الذي يستبدل Courier New وخطوط مثبتة أخرى بعد تحويل PDF
- [Bug] GroupDocs.Conversion.LowCode 26.9.0: تحويل DOCX إلى PDF على Linux يتجاهل استبدال الخط ويستخدم أول خط أبجديًا
- [Bug] إصلاح أخطاء توثيق XML في GroupDocs.Conversion.LowCode 26.9.0
- [Bug] إصلاح فشل تحويل PostScript على .NET Framework عندما يستخدم المستند المشغل run أو file
- [Bug] إصلاح التحويلات غير المرخصة إلى صيغ لغة وصف الصفحات التي تتجاهل حد صفحة التجربة
- [Bug] إصلاح فشل تحويل صفحة بصفحة لمستندات PSD، PSB و Illustrator AI مع استثناء
- [Bug] إصلاح فشل تحويل الفيديو إلى صيغة صوتية حتى عندما يتم تعيين موصل فيديو
- [Bug] إصلاح تحويل ProjectManagement إلى PS و PCL الذي ينتج صفحات إضافية ويتجاهل اختيار الصفحات
- [Bug] إصلاح ProjectManagement إلى SVG الذي يكتب UTF-16 بدون علامة ترتيب البايت
- [Bug] إصلاح تحويل 3D إلى glTF و OBJ الذي يكتب ملفات الذاكرة والمواد في دليل العمل
- [Bug] إصلاح تحويلات MHT و MHTML إلى PDF، XPS، TeX و WordProcessing التي تُظهر مصدر MIME بدلاً من الصفحة
- [Bug] إصلاح تحويل CAD إلى TeX لرسم كامل يفشل مع FileTypeNotSupported
- [Bug] إصلاح تحويلات PDL و XML/JSON إلى PS و PCL التي تضيف صفحات إضافية
- [Bug] إصلاح تحويل CAD إلى PS و PCL التي تحتفظ بصفحة واحدة فقط من رسومات DWF متعددة الصفحات
- [Bug] إصلاح فشل تحويل MBOX أو إسقاط رؤوس البريد عندما يبدو موضوع الرسالة كاسم ملف
تغييرات API العامة
API جديد
IExternalResourceHandlerوExternalResourceLoadingArgs(Uri،Skipped،Data) في مساحة الاسمGroupDocs.Conversion.Options.Load.ExternalResourceHandlerعلىIResourceLoadingOptionsوخيارات التحميل التي تنفّذها.ExecuteScriptsعلىWebLoadOptionsوSvgLoadOptions.SkipExternalResources،WhitelistedResourcesوExternalResourceHandlerعلىFinanceLoadOptionsوThreeDLoadOptions، التي أصبحت الآن تنفّذIResourceLoadingOptions.
⚠️ تحقق قبل الترقية
-
الموارد الخارجية: المستندات التي اعتمدت على ملفات محلية خارج مجلدها، مسارات UNC أو سكريبتات الآن تُحوّل دونها. اسمح بما تثق به كما هو موضح في الإعدادات الافتراضية الآمنة للمستندات غير الموثوقة.
-
عناصر القائمة البيضاء: يجب أن يكون كل إدخال في
WhitelistedResourcesبادئة URI مطلقة، مثلhttps://cdn.example.com/assets/أوfile:///C:/assets/. الإدخالات مثلjpgأوexample.com، التي كانت الإصدارات السابقة تطابقها في أي مكان في URL، الآن تجعل التحميل يفشل معInvalidLoadOptionsException. -
XBRL و XBRL المدمج: ملف تقديم تصنيفاته خارج مجلده، أو تم تحميله من تدفق، الآن يفشل في التحميل مع
InvalidLoadOptionsException. حمّل ملفات التقديم التي تثق بها هكذا:using (Converter converter = new Converter("filing.xbrl", (LoadContext loadContext) => new FinanceLoadOptions { SkipExternalResources = false })) { converter.Convert("filing.xlsx", new SpreadsheetConvertOptions()); } -
SVG و SVGZ: عند التحويل دون خيارات تحميل، الآن يستخدم
SvgLoadOptions، وتُعيدPossibleConversions.LoadOptionsSvgLoadOptionsبدلاً منPageDescriptionLanguageLoadOptions. -
تنسيق الإخراج والصفحات: الآن تحترم التحويلات التنسيق المطلوب واختيار الصفحات، لذا قد يختلف الإخراج عن الإصدارات السابقة لنفس الخيارات.
PublisherDocumentInfo.PagesCountالآن تُعيد العدد الحقيقي للصفحات. -
تنفيذات مخصصة لـ
IResourceLoadingOptionsيجب أن تضيف الخاصية الجديدةExternalResourceHandler.
تُدرج ملاحظات الإصدار كل تغيير مع رسائل الاستثناء الدقيقة.
كيفية الحصول على التحديث
NuGet
قم بالترقية إلى أحدث حزمة GroupDocs.Conversion عبر NuGet: GroupDocs.Conversion 26.10.0
dotnet add package GroupDocs.Conversion --version 26.10.0
تحميل مباشر
حمّل التجميعات من صفحة GroupDocs.Conversion for .NET 26.10
الموارد
- ملاحظات الإصدار الكاملة
- التوثيق
- الوصول إلى الشبكة وخصوصية البيانات – متى تصل المكتبة إلى الشبكة وكيفية تشغيلها دون اتصال
- تخطي تحميل الموارد الخارجية – الإعدادات الافتراضية، عناصر القائمة البيضاء، المعالج لكل مورد والسكريبتات
- ملاحظات الترحيل – الترحيل إلى 26.10
- خيارات التحميل لأنواع المستندات المختلفة
- أمثلة على GitHub – المواقع الموثوقة، معالج لكل مورد، سكريبتات HTML و XBRL الموثوقة مع تصنيف بعيد
- منتدى الدعم المجاني