There are 18 features, improvements, and bug fixes in this release. This update reinforces CAD conversion with layout‑level selection, per‑layout output (slides, worksheets, pages, SVG, etc.), and adds XAR and CAB as compression targets, as well as Mermaid MMD and Drawio as diagram sources/targets.

چه چیز جدیدی در این نسخه وجود دارد

کلید دسته‌بندی خلاصه
CONVERSIONNET-8437 قابلیت افزودن فرمت فایل Drawio به‌عنوان هدف تبدیل برای اسناد Diagram
CONVERSIONNET-8442 قابلیت افزودن فرمت فایل Mermaid MMD به‌عنوان منبع تبدیل برای اسناد Diagram
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 در تبدیل CAD به PDF/UA
CONVERSIONNET-8430 خطا رفع گزارش CadDocumentInfo که برای اسناد CAD چند‑طرح‌بندی یک صفحه می‌گوید
CONVERSIONNET-8444 خطا مشکل تصویر بندانگشتی در محیط لینوکس برای GroupDocs.Conversion
CONVERSIONNET-8467 خطا EML به PDF: استثنای نوع واحدهای ناسازگار

تغییرات API عمومی

⚠️ تغییرات ناسازگار با نسخه‌های قبلی – به‌روزرسانی‌های زیر رفتار عمومی موجود را تغییر می‌دهند. کد خود را طوری تنظیم کنید که از بروز خطاهای زمان اجرا جلوگیری شود.

1. LoadOptions.Format اکنون به‌جای پرتاب استثنا، null برمی‌گرداند وقتی فرمت تنظیم نشده باشد

کلاس‌های تحت تأثیر: تمام ۲۸ گزینه بارگذاری تایپ‌شده (مانند SpreadsheetLoadOptions، PdfLoadOptions، CadLoadOptions، …)

چه تغییری رخ داد
دسترسی به ویژگی Format قبل از اختصاص فرمت، قبلاً یک استثنا پرتاب می‌کرد. اکنون null برمی‌گرداند و امکان بررسی سادهٔ null‑check فراهم می‌شود.

مثال مهاجرت

var loadOptions = new SpreadsheetLoadOptions();

if (loadOptions.Format == null)
{
    // مسیر جدید کد – قبلاً دسترسی به این بخش امکان‌پذیر نبود زیرا گتر استثنا می‌انداخت.
}

راهنمایی
هر try/catch ای که دور loadOptions.Format می‌چرخید را با یک بررسی null جایگزین کنید. با FileType.Unknown مقایسه نکنید؛ تست صحیح == null است.


2. اعتبارسنجی دقیق (Exact‑match) برای 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

چه تغییری رخ داد
قبلاً، تبدیل نقشه‌ای با چندین طرح‌بندی paper‑space منجر به یک تصویر/اسلاید تسطیح‌شده می‌شد. اکنون برای هر طرح‌بندی یک واحد خروجی جداگانه (اسلاید، صفحه و غیره) ایجاد می‌شود که اندازهٔ آن بر اساس تنظیمات صفحهٔ طرح‌بندی است. 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; // برای سه طرح‌بندی ۳ برمی‌گرداند

راهنمایی

  • پردازش‌های بعدی (مانند صفحه‌بندی UI یا نام‌گذاری فایل) را طوری تنظیم کنید که چندین فایل/صفحه خروجی را پشتیبانی کنند.
  • برای نقشه‌های تک‑شیت رفتار همانند قبل باقی می‌ماند.
  • استثنای CAD → PDF/UA‑1 همچنان یک صفحهٔ تگ‌شدهٔ واحد را رندر می‌کند.

4. ویژگی جدید CadLoadOptions.LayoutScope برای کنترل صریح اینکه کدام فضاها تبدیل شوند

کلاس تحت تأثیر: CadLoadOptions

چه تغییری رخ داد
LayoutScope به شما امکان می‌دهد مشخص کنید که Model، Layouts یا Both (پیش‌فرض) بارگذاری شوند.

  • وقتی LayoutNames تنظیم شده باشد، LayoutScope نادیده گرفته می‌شود زیرا نام‌های صریح اولویت دارند.
  • انتخاب یک محدوده‌ای که برای نقشه‌ای که حداقل یک شیت دارد هیچ شیتی تولید نکند، اکنون به‌جای رندر ساکن پیش‌فرض، InvalidLoadOptionsException پرتاب می‌کند.

مثال مهاجرت – تبدیل فقط طرح‌بندی‌های paper‑space

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());

راهنمایی

  • کدهای موجود که به انتخاب خودکار پشت‌صحنه وابسته بودند، همچنان کار می‌کنند زیرا 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 در NuGet

دانلود مستقیم

در یادداشت‌های انتشار لینک دانلود مستقیم ارائه نشده است.

منابع