ما خوشحالیم که انتشار GroupDocs.Conversion for .NET v26.10 را اعلام میکنیم، که از اکتبر 2026 در دسترس است. این نسخه درباره کنترل بر آنچه یک سند میتواند بارگذاری کند است: کد شما اکنون میتواند درباره هر منبع خارجی که سند درخواست میکند تصمیم بگیرد و تنظیمات پیشفرض برای اسناد ناشناخته ایمن هستند. همچنین تبدیلها فرمت خروجی و انتخاب صفحهٔ درخواستشده را رعایت میکنند، مجموعهای از خطاهای تبدیل و مشکلات بارگذاری .NET Framework را رفع میکنند و یک وابستگی حساس به امنیت را بهروز میکنند — در مجموع ۶۰ ویژگی، بهبود و رفع باگ.
نکات برجسته
تصمیمگیری دربارهٔ آنچه هر سند میتواند بارگذاری کند
اسناد اغلب به منابع خارج از خود اشاره میکنند: تصاویر روی 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 با مجوز معتبر دیگر نشانگر نسخهٔ آزمایشی را نشان نمیدهند. در حالت ارزیابی، محدودیت ۳‑صفحهای اکنون برای خروجیهای SVG، SVGZ، PS و PCL نیز اعمال میشود.
موارد جدید در این انتشار
- [Feature] افزودن یک فراخوانی‑پرسشی برای هر منبع بهمنظور بازرسی، اجازه، رد یا تأمین هر منبع خارجی که سند بارگذاری میکند
- [Improvement] ارائه
SvgLoadOptionsبهعنوان گزینهٔ بارگذاری برای اسناد SVG و SVGZ - [Improvement] نامگذاری موارد OLM و NSF بدون موضوع بر اساس پوشه و موقعیت و جلوگیری از نامهای دستگاه رزرو شدهٔ ویندوز در نامهای موارد صندوقپست
- [Improvement] گزارش موارد بایگانی، ایمیل و صندوقپست که نمیتوانند بارگذاری شوند به هندلر
document‑failedبهجای فقط ثبت لاگ - [Bug] نشانگر نسخهٔ آزمایشی هنگام تبدیل از Webp حتی با وجود مجوز معتبر اعمال میشود
- [Bug] تبدیل خاص فایل VSDX – متن خارج از مرزهای جعبه
- [Bug] متن دو‑خطخورده در تبدیل ODT به PDF حفظ نمیشود
- [Bug] مشکلات تبدیل VCF به Excel
- [Bug] رفع شکست تبدیلها در بارگذاری
RuntimeInformationدر پروژههای قدیمی .NET Framework 4.7.1+ که ازPackageReferenceاستفاده میکنند - [Bug] رفع شکست تبدیلها در بارگذاری
RuntimeInformationیاValueTupleدر پروژههای .NET Frameworkpackages.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 فشردهٔ gzipped است و خروجی EMZ تصاویر دو بار gzipped میشود
- [Bug] صفحات MHT و MHTML که به تصویر تبدیل میشوند منبع MIME را نشان میدهند نه صفحه
- [Bug] اطلاعات سند یک سند Publisher همیشه یک صفحه گزارش میدهد
- [Bug] واترمارک هنگام تبدیل اسناد CSV و TSV اعمال نمیشود
- [Bug] بارگذاری منابع خارجی فقط از پیشوندهای URL سفید‑لیست شدهٔ دقیق و پوشهٔ خود سند، هرگز از مسیرهای UNC نیست
- [Bug] رفع مشکلات ذخیرهٔ CAD، Image، Diagram، DjVu، VCF و Email به WordProcessing که برای هر هدفی به جز DOC فایل DOCX میساخت
- [Bug] رفع نادیدهگیری انتخاب صفحه در تبدیل Email به WordProcessing
- [Bug] رفع نادیدهگیری انتخاب صفحه در تبدیل TIFF چند‑قاب به WordProcessing
- [Bug] رعایت
SkipExternalResourcesوWhitelistedResourcesهنگام تبدیل اسناد Markdown و CHM - [Bug] رعایت
SkipExternalResourcesوWhitelistedResourcesدر تبدیل ایمیل‑به‑صفحهگسترده، صفحهگسترده و تبدیلهای بازهٔ صفحه - [Bug] بهطور پیشفرض هنگام تبدیل HTML به صفحهگسترده، تصاویر خارج از پوشهٔ سند بارگذاری نمیشوند
- [Bug] بهطور پیشفرض هنگام تبدیل SVG به ارائه، پردازش واژه، صفحهگسترده، XPS یا EPS، منابع خارجی بارگذاری نمیشوند
- [Bug] بهطور پیشفرض هنگام تبدیل اسناد 3D، کتابخانههای مواد، بافتها و بافرها از خارج پوشهٔ مدل بارگذاری نمیشوند
- [Bug] بهطور پیشفرض هنگام تبدیل XML از طریق یک stylesheet 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 که پس از تبدیل PDF، فونتهای Courier New و سایر فونتهای نصبشده را جایگزین میکرد
- [Bug] GroupDocs.Conversion.LowCode 26.9.0: تبدیل DOCX به PDF در لینوکس جایگزینی فونت را نادیده میگیرد و اولین فونت به ترتیب الفبایی را استفاده میکند
- [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] رفع نوشتن UTF‑16 بدون علامت ترتیب بایت در تبدیل ProjectManagement به SVG
- [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 یا اسکریپتها وابسته بودند، اکنون بدون آنها تبدیل میشوند. همانطور که در Safe defaults for untrusted documents توضیح داده شد، مواردی که اعتماد دارید را اجازه دهید.
-
ورودیهای لیست سفید: هر ورودی
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.LoadOptionsبه جایPageDescriptionLanguageLoadOptions،SvgLoadOptionsرا برمیگرداند. -
فرمت خروجی و صفحات: تبدیلها اکنون فرمت و انتخاب صفحهٔ درخواستشده را رعایت میکنند، بنابراین خروجی ممکن است برای همان گزینهها نسبت به نسخههای قبلی متفاوت باشد.
PublisherDocumentInfo.PagesCountاکنون شمارش واقعی صفحات را برمیگرداند. -
پیادهسازیهای سفارشی
IResourceLoadingOptionsباید ویژگی جدیدExternalResourceHandlerرا اضافه کنند.
یادداشتهای انتشار (release notes) تمام تغییرات را همراه با پیامهای دقیق استثناها فهرست میکند.
نحوه دریافت بهروزرسانی
NuGet
بهروزرسانی به آخرین بسته GroupDocs.Conversion از طریق NuGet: GroupDocs.Conversion 26.10.0
dotnet add package GroupDocs.Conversion --version 26.10.0
دانلود مستقیم
دستگاههای اجرایی را از صفحهٔ GroupDocs.Conversion for .NET 26.10 دریافت کنید
منابع
- Full Release Notes
- Documentation
- Network access and data privacy – زمانی که کتابخانه به شبکه دسترسی دارد و چگونگی اجرای آفلاین آن
- Skip loading of external resources – پیشفرضها، ورودیهای لیست سفید، هندلر هر‑منبع و اسکریپتها
- Migration notes – مهاجرت به 26.10
- Load options for different document types
- GitHub examples – مکانهای مورد اعتماد، هندلر هر‑منبع، اسکریپتهای HTML مورد اعتماد و XBRL با طبقهبندی از راه دور
- Free Support Forum