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
دانلود مستقیم
در یادداشتهای انتشار لینک دانلود مستقیم ارائه نشده است.