ما الجديد في هذا الإصدار
| المفتاح | الفئة | الملخص |
|---|---|---|
| CONVERSIONNET-8437 | ميزة | إضافة تنسيق ملف Drawio كهدف تحويل لمستندات المخططات |
| CONVERSIONNET-8442 | ميزة | إضافة تنسيق ملف Mermaid MMD كمصدر تحويل لمستندات المخططات |
| CONVERSIONNET-8445 | ميزة | إضافة CAB كهدف تحويل للمستندات المضغوطة |
| CONVERSIONNET-8459 | ميزة | إضافة CadLayoutScope إلى CadLoadOptions لتحويل مساحة النموذج أو تخطيطات الورق أو كليهما |
| CONVERSIONNET-8464 | ميزة | إضافة XAR كمصدر وهدف تحويل للمستندات المضغوطة |
| CONVERSIONNET-8460 | تحسين | تحويل كل تخطيط CAD إلى شريحة أو ورقة عمل أو صفحة Word أو صورة HTML/MHTML ومنطقة SVG خاصة به |
| CONVERSIONNET-8461 | تحسين | تسمية التخطيطات المفقودة عندما لا يتطابق اختيار تخطيط CAD مع أي شيء |
| CONVERSIONNET-8462 | تحسين | الإبلاغ عن عدم تعيين LoadOptions.Format كغياب بدلاً من رمي استثناء |
| CONVERSIONNET-8361 | خطأ | أشكال DOCX ذات الحدود تُعرض بشكل غير صحيح عند التحويل إلى PDF |
| CONVERSIONNET-8396 | خطأ | تحويل ملف Presentation إلى PDF يؤدي إلى رؤوس/تذييلات غير متسقة |
| CONVERSIONNET-8399 | خطأ | تحويل ملف Presentation مع روابط ملخص مكسورة يؤدي إلى GroupDocsConversionException |
| CONVERSIONNET-8426 | خطأ | تحويل ملف DWG إلى PDF وفق إعدادات توجيه ورقة الصفحة |
| CONVERSIONNET-8427 | خطأ | إصلاح NullReferenceException عند تحويل رسومات CAD بدون تخطيط نشط |
| CONVERSIONNET-8428 | خطأ | إصلاح تحويل الوحدات المزدوجة عندما يتم تعيين حجم صفحة صريح لتحويلات CAD |
| CONVERSIONNET-8429 | خطأ | إصلاح تجاهل CadLoadOptions في التحويل إلى PDF/UA |
| CONVERSIONNET-8430 | خطأ | إصلاح CadDocumentInfo الذي يُبلغ عن صفحة واحدة لمستندات CAD متعددة التخطيطات |
| CONVERSIONNET-8444 | خطأ | مشكلة في إنشاء صورة مصغرة في بيئة لينكس لـ GroupDocs.Conversion |
| CONVERSIONNET-8467 | خطأ | EML إلى PDF: استثناء أنواع وحدات غير متوافقة |
تغييرات API العامة
⚠️ تغييرات غير متوافقة مع الإصدارات السابقة – التحديثات التالية تُعدِّل السلوك العام العام. عدِّل الكود الخاص بك وفقًا لتجنب أخطاء وقت التشغيل.
1. LoadOptions.Format الآن تُعيد null بدلاً من رمي استثناء عندما لا يتم تعيين الصيغة
الفئات المتأثرة: جميع الـ 28 خيار تحميل مُصنف (مثلًا، SpreadsheetLoadOptions، PdfLoadOptions، CadLoadOptions، …)
ما تم تغييره
قراءة الخاصية Format قبل تعيين صيغة كانت تُثير استثناءً. الآن تُعيد null، مما يسمح بالتحقق البسيط من القيمة الفارغة.
مثال على الترحيل
var loadOptions = new SpreadsheetLoadOptions();
if (loadOptions.Format == null)
{
// مسار جديد – كان غير قابل للوصول سابقًا لأن الـ getter كان يرمي استثناء.
}
إرشادات
استبدل أي try/catch حول loadOptions.Format بفحص null. لا تقارن بـ FileType.Unknown؛ الاختبار الصحيح هو == null.
2. التحقق من التطابق التام لـ CadLoadOptions.LayoutNames مع تقارير خطأ مفصلة
الفئة المتأثرة: CadLoadOptions
ما تم تغييره
يتم الآن مطابقة LayoutNames بدقة (حساسة لحالة الأحرف) مع أسماء تخطيطات الرسم. إذا لم يتطابق أي منها، يفشل التحويل مع InvalidLoadOptionsException يُظهر التخطيطات المتاحة والطلب غير المتطابق.
مثال على الترحيل
using GroupDocs.Conversion.Exceptions;
try
{
using var converter = new Converter("drawing.dwg",
ctx => new CadLoadOptions { LayoutNames = new[] { "layout1" } });
converter.Convert("out.pdf", new PdfConvertOptions());
}
catch (InvalidLoadOptionsException ex)
{
// مثال على الرسالة:
// "No layout name in CadLoadOptions.LayoutNames matches this drawing, which carries
// Model, Layout1, Layout2. Requested: layout1. Names are matched exactly, so a name
// that differs only in case is a different name."
Console.WriteLine(ex.Message);
}
إرشادات
- تأكد من كتابة أسماء التخطيطات بشكل صحيح ومطابقة لحالة الأحرف في الرسم المصدر.
- عندما تحتاج فقط إلى مجموعة فرعية من التخطيطات، قدم الأسماء الدقيقة؛ تُهمل الإدخالات غير المتطابقة وتُرسم التخطيطات المتطابقة.
3. رسومات CAD متعددة الأوراق الآن تُنتج وحدة إخراج واحدة لكل ورقة
الفئات المتأثرة: Converter، PresentationConvertOptions، PdfConvertOptions
ما تم تغييره
سابقًا، تحويل رسم يحتوي على تخطيطات مساحة ورق متعددة كان ينتج صورة/شريحة موحدة واحدة. الآن يُنشئ التحويل وحدات إخراج منفصلة (شرائح، صفحات، إلخ) لكل تخطيط، بحجم يتوافق مع إعدادات صفحة التخطيط. Converter.GetDocumentInfo().PagesCount يعكس عدد الوحدات المُولدة.
مثال على الترحيل – التحويل
using var converter = new Converter("multi-layout.dwg");
// ثلاث أوراق داخل، ثلاث شرائح خارج – سابقًا شريحة موحدة واحدة.
converter.Convert("drawing.pptx", new PresentationConvertOptions());
مثال على الترحيل – استعلام عدد الصفحات
using var converter = new Converter("multi-layout.dwg");
int sheets = converter.GetDocumentInfo().PagesCount; // يُعيد 3 لثلاث تخطيطات
إرشادات
- عدِّل المعالجة اللاحقة (مثل ترقيم الصفحات في الواجهة، تسمية الملفات) لتتعامل مع ملفات/صفحات متعددة.
- بالنسبة للرسومات ذات ورقة واحدة يظل السلوك كما هو.
- الاستثناء هو CAD → PDF/UA‑1، الذي لا يزال يُنتج صفحة مُوسومة واحدة.
4. الخاصية الجديدة CadLoadOptions.LayoutScope للتحكم الصريح في المساحات التي تُحوَّل
الفئة المتأثرة: CadLoadOptions
ما تم تغييره
LayoutScope يتيح لك تحديد ما إذا كنت تريد تحميل Model أو Layouts أو Both (الإعداد الافتراضي).
- عندما يتم تعيين
LayoutNames، يتم تجاهلLayoutScopeلأن الأسماء الصريحة لها أولوية. - اختيار نطاق لا ينتج أي أوراق لرسم يحتوي على ورقة واحدة على الأقل الآن يُثير
InvalidLoadOptionsExceptionبدلاً من عرض المساحات الافتراضية صامتًا.
مثال على الترحيل – تحويل تخطيطات مساحة الورق فقط
using GroupDocs.Conversion;
using GroupDocs.Conversion.Options.Convert;
using GroupDocs.Conversion.Options.Load;
using var converter = new Converter("drawing.dwg",
ctx => new CadLoadOptions { LayoutScope = CadLayoutScope.Layouts });
converter.Convert("layouts.pdf", new PdfConvertOptions());
إرشادات
- الكود الموجود الذي يعتمد على الاختيار الضمني للـ backend سيستمر في العمل لأن Both لا يزال الافتراضي.
- لاستبعاد مساحة النموذج أو تضمينها فقط، اضبط
LayoutScopeإلىCadLayoutScope.ModelأوCadLayoutScope.Layoutsعلى التوالي. - إذا كنت قد حاولت مسبقًا تصفية التخطيطات عبر توفير مصفوفة
LayoutNamesفارغة، استبدل هذا النمط بقيمةLayoutScopeمناسبة للحصول على خطأ واضح عندما لا تُختار أي أوراق.
الميزات الجديدة
التحكم المتقدم في تخطيطات CAD: اختر تخطيطات CAD محددة، وحول كل تخطيط إلى شريحة أو ورقة عمل أو صفحة أو صورة أو منطقة SVG خاصة به، واختر مساحة النموذج أو تخطيطات الورق أو كليهما باستخدام CadLayoutScope. يوفّر ذلك إخراجًا دقيقًا لكل تخطيط مع احترام إعدادات الورقة مثل التوجيه وحجم الصفحة.
توسيع دعم الأرشيف: صارت صيغتي XAR و CAB متاحة كمصدر وهدف للمستندات المضغوطة، مما يتيح تحويلًا سلسًا من وإلى هذه الأنواع من الأرشيفات.
التوافقية الحديثة للمخططات: يمكن الآن استخدام ملفات Mermaid MMD كمصادر للمخططات، وتُدعم ملفات Drawio كأهداف تحويل، مما يُسهل دمج أدوات الرسم المعاصرة في خطوط التحويل الخاصة بك.
تحسينات استقرار حرجة: تم إصلاح فشل التحويل من EML → PDF، ومشكلات حدود أشكال DOCX، ورؤوس/تذييلات العروض التقديمية، وروابط الملخص المكسورة، وإنشاء الصور المصغرة على لينكس، ومعالجة توجيه أوراق DWG. تُعزز هذه الإصلاحات الاعتمادية عبر تدفقات العمل المتعلقة بالبريد الإلكتروني، والمستندات المكتبية، والعروض التقديمية، وCAD.
مثال على الشيفرة
using var converter = new Converter("multi-layout.dwg");
// ثلاث أوراق داخل، ثلاث شرائح خارج – سابقًا شريحة موحدة واحدة.
converter.Convert("drawing.pptx", new PresentationConvertOptions());
كيفية الحصول على التحديث
NuGet
Install-Package GroupDocs.Conversion -Version 26.8
GroupDocs.Conversion 26.8 on NuGet
التحميل المباشر
لا توجد روابط تحميل مباشرة مُدرجة في ملاحظات الإصدار.