ما الجديد في هذا الإصدار

المفتاح الفئة الملخص
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

التحميل المباشر

لا توجد روابط تحميل مباشرة مُدرجة في ملاحظات الإصدار.

الموارد