Chúng tôi rất vui mừng thông báo việc phát hành GroupDocs.Conversion for .NET v26.10, có sẵn từ tháng 10 năm 2026. Bản phát hành này tập trung vào việc kiểm soát những gì một tài liệu được phép tải: mã của bạn giờ có thể quyết định về mọi tài nguyên bên ngoài mà tài liệu yêu cầu, và các mặc định an toàn cho các tài liệu từ nguồn không xác định. Nó cũng giúp việc chuyển đổi tuân thủ định dạng đầu ra và lựa chọn trang được yêu cầu, sửa một loạt lỗi chuyển đổi và các vấn đề tải .NET Framework, đồng thời cập nhật một phụ thuộc nhạy cảm về bảo mật — tổng cộng 60 tính năng, cải tiến và sửa lỗi.

Điểm nổi bật

Quyết định mỗi tài liệu có thể tải gì

Các tài liệu thường tham chiếu ra bên ngoài: hình ảnh trên CDN, stylesheet, script, texture 3D, taxonomy XBRL. Trong phiên bản 26.10 bạn có thể xem từng yêu cầu này và quyết định trong mã. Triển khai IExternalResourceHandler và đặt nó qua thuộc tính ExternalResourceHandler của các tùy chọn tải. Trình xử lý nhận mỗi tài nguyên với quyết định mặc định đã được điền sẵn, và có thể cho phép, bỏ qua hoặc — đối với hầu hết các định dạng — cung cấp nội dung trực tiếp, ví dụ từ bộ nhớ cache của bạn, để không có gì được yêu cầu.

Trình xử lý này tải ảnh JPEG từ một máy chủ đáng tin cậy trên nền những gì mặc định cho phép:

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

Trình xử lý hoạt động với các tùy chọn tải cho web, XML, xử lý văn bản, bảng tính, CSV và TSV, trình chiếu, email, SVG, tài chính và tài liệu 3D.

Mặc định an toàn cho tài liệu không đáng tin cậy

Chuyển đổi một tệp mà ai đó tải lên không nên khiến máy chủ của bạn đọc các tệp khác hoặc truy cập các máy chủ tùy ý. Với cài đặt mặc định, 26.10:

  • chỉ tải các tệp cục bộ từ thư mục của tài liệu, và không bao giờ từ đường UNC;
  • không chạy script trong các tài liệu HTML, MHTML, XHTML và SVG, và không yêu cầu tệp script nào;
  • áp dụng cùng các quy tắc cho SVG, mô hình 3D, XBRL, XSL-FO, Markdown và chuyển đổi email‑to‑spreadsheet.

Khi tài liệu của bạn thực sự cần tài nguyên bên ngoài, hãy cho phép chúng theo cách phù hợp: liệt kê các vị trí đáng tin cậy trong WhitelistedResources, quyết định từng tài nguyên bằng trình xử lý, hoặc đặt SkipExternalResources = false cho các tài liệu bạn tin tưởng. Script chỉ chạy khi bạn đặt ExecuteScripts = true trên WebLoadOptions hoặc SvgLoadOptions. Đường UNC và các tham chiếu javascript: hoặc vbscript: không bao giờ được tải, bất kể cài đặt nào.

Kết quả bạn yêu cầu

Một số chuyển đổi đã bỏ qua một phần yêu cầu. Nhiều trường hợp luôn ghi DOCX, XLSX, PPTX hoặc TIFF đa khung bất kể định dạng đích bạn chọn, và lựa chọn trang đã bị bỏ qua đối với email, web và TIFF đa trang sang xử lý văn bản, đối với tài liệu Word Flat OPC, và đối với Project sang PS và PCL. Tất cả chúng giờ tạo ra những gì tùy chọn chuyển đổi yêu cầu. Watermark hiện cũng xuất hiện khi chuyển đổi tài liệu không phải hình ảnh sang hình ảnh và khi chuyển đổi CSV và TSV, các trang MHT và MHTML được render thay vì hiển thị nguồn MIME, và nền trong suốt không còn chuyển thành màu đen trong đầu ra J2K, JP2, WMF và WMZ.

Ít lỗi chuyển đổi hơn

Các tệp PostScript sử dụng toán tử run hoặc file trên .NET Framework, tài liệu PSD, PSB và AI từng chuyển trang từng trang, toàn bộ bản vẽ CAD sang TeX, XHTML có SVG nội tuyến, PDF, XPS và SVG sang EPUB, và Visio và SVG sang bảng tính giờ đều chuyển đổi thay vì thất bại. Trong email, hộp thư và tệp lưu trữ, một tệp đính kèm không thể chuyển đổi sang định dạng đích không còn làm toàn bộ quá trình chuyển đổi thất bại, và một tài liệu con không thể tải sẽ được báo cáo qua ConversionEvents.OnDocumentFailed.

Bảo mật, cấp phép và .NET Framework

  • System.Security.Cryptography.Pkcs nâng lên 8.0.2 (10.0.13 trên .NET 10), khắc phục CVE-2026-84008 và CVE-2026-70162.
  • Các dự án .NET Framework không còn thất bại khi tải RuntimeInformation hoặc ValueTuple, và các chuyển đổi EML, HTML và CAD không còn thất bại trên .NET Framework 4.6.2 đến 4.7.0.
  • Các chuyển đổi WebP với giấy phép hợp lệ không còn hiển thị biểu tượng dùng thử. Trong chế độ đánh giá, giới hạn 3 trang cũng áp dụng cho đầu ra SVG, SVGZ, PS và PCL.

Có gì mới trong bản phát hành này

  • [Feature] Thêm callback theo tài nguyên để kiểm tra, cho phép, từ chối hoặc cung cấp mỗi tài nguyên bên ngoài mà tài liệu tải
  • [Improvement] Cung cấp SvgLoadOptions làm tùy chọn tải cho tài liệu SVG và SVGZ
  • [Improvement] Đặt tên mục OLM và NSF không có tiêu đề bằng thư mục và vị trí và tránh các tên thiết bị Windows được đặt trước trong tên mục hộp thư
  • [Improvement] Báo cáo các mục lưu trữ, email và hộp thư không thể tải tới trình xử lý document‑failed thay vì chỉ ghi log
  • [Bug] Biểu tượng dùng thử vẫn được áp dụng khi chuyển đổi từ Webp ngay cả khi đã có giấy phép hợp lệ
  • [Bug] Chuyển đổi tệp VSDX cụ thể – văn bản ra ngoài giới hạn hộp
  • [Bug] Văn bản gạch đôi đôi không được giữ trong chuyển đổi ODT sang PDF
  • [Bug] Các vấn đề chuyển đổi VCF sang Excel
  • [Bug] Sửa lỗi chuyển đổi thất bại khi tải RuntimeInformation trong các dự án .NET Framework kiểu cũ 4.7.1+ sử dụng PackageReference
  • [Bug] Sửa lỗi chuyển đổi thất bại khi tải RuntimeInformation hoặc ValueTuple trong các dự án .NET Framework packages.config
  • [Bug] Sửa lỗi chuyển đổi EML, HTML và CAD thất bại trên môi trường .NET Framework 4.6.2 đến 4.7.0
  • [Bug] Chuyển đổi tài liệu WordProcessing, Pdf và ProjectManagement sang bất kỳ định dạng bảng tính nào luôn tạo ra XLSX
  • [Bug] Chuyển đổi tài liệu WordProcessing, Pdf và Diagram sang bất kỳ định dạng trình chiếu nào luôn tạo ra PPTX
  • [Bug] Sửa lỗi chuyển đổi PST, OST và MBOX khi gặp mục không có tiêu đề và ghi chú dính PST chuyển thành văn bản không đọc được
  • [Bug] Chuyển đổi tài liệu một trang sang định dạng hình ảnh không phải TIFF luôn tạo ra TIFF đa khung
  • [Bug] [GroupDocs.Conversion for .NET] Cập nhật System.Security.Cryptography.Pkcs lên 8.0.2 (CVE-2026-84008 / CVE-2026-70162)
  • [Bug] Watermark dạng văn bản hoặc hình ảnh không được áp dụng khi chuyển đổi tài liệu không phải hình ảnh sang hình ảnh
  • [Bug] Nền trang trong suốt chuyển thành màu đen khi chuyển đổi sang J2K, JP2, WMF và WMZ
  • [Bug] Đầu ra WMZ của tài liệu dựa trên Word chứa PNG nén gzip và đầu ra EMZ của hình ảnh bị nén gzip hai lần
  • [Bug] Các trang MHT và MHTML được chuyển đổi sang hình ảnh hiển thị nguồn MIME thay vì trang
  • [Bug] Thông tin tài liệu của tài liệu Publisher luôn báo cáo một trang
  • [Bug] Watermark không được áp dụng khi chuyển đổi tài liệu CSV và TSV
  • [Bug] Chỉ tải tài nguyên bên ngoài từ các tiền tố URL trong whitelist chính xác và thư mục của tài liệu, không bao giờ từ đường UNC
  • [Bug] Sửa CAD, Image, Diagram, DjVu, VCF và Email sang WordProcessing lưu DOCX cho mọi đích ngoại trừ DOC
  • [Bug] Sửa Email sang WordProcessing bỏ qua lựa chọn trang và phạm vi trang
  • [Bug] Sửa TIFF đa trang sang WordProcessing bỏ qua lựa chọn trang
  • [Bug] Tôn trọng SkipExternalResources và WhitelistedResources khi chuyển đổi tài liệu Markdown và CHM
  • [Bug] Tôn trọng SkipExternalResources và WhitelistedResources trong chuyển đổi email‑to‑spreadsheet, bảng tính và phạm vi trang
  • [Bug] Không tải hình ảnh từ bên ngoài thư mục tài liệu theo mặc định khi chuyển đổi HTML sang bảng tính
  • [Bug] Không tải tài nguyên bên ngoài theo mặc định khi chuyển đổi SVG sang trình chiếu, xử lý văn bản, bảng tính, XPS hoặc EPS
  • [Bug] Không tải thư viện vật liệu 3D, texture và buffer từ bên ngoài thư mục mô hình theo mặc định
  • [Bug] Không tải hình ảnh bên ngoài theo mặc định khi chuyển đổi XML qua stylesheet XSL-FO
  • [Bug] Sửa HTML và MHTML sang WordProcessing lưu DOCX cho mọi đích
  • [Bug] Không tải XBRL và taxonomy XBRL nội tuyến từ bên ngoài thư mục tài liệu theo mặc định
  • [Bug] Ngừng chạy script và tải tệp script khi chuyển đổi tài liệu HTML, XHTML và SVG
  • [Bug] Sửa Web sang WordProcessing bỏ qua lựa chọn trang và phạm vi trang
  • [Bug] Sửa tài liệu Word Flat OPC bỏ qua lựa chọn trang và phạm vi trang
  • [Bug] Không nhúng texture từ bên ngoài thư mục mô hình theo mặc định khi chuyển đổi tài liệu 3D
  • [Bug] Sửa lỗi lưu trữ nén một luồng chuyển đổi tệp mà không có tên
  • [Bug] Sửa việc tham chiếu javascript: và vbscript: bị tải khi tài nguyên bên ngoài được cho phép
  • [Bug] Sửa lỗi tài liệu XHTML có SVG nội tuyến không chuyển đổi được
  • [Bug] Sửa lỗi chuyển đổi HTML sang HTML thất bại khi không thể tải CSS @import tương đối
  • [Bug] Sửa lỗi chuyển đổi Visio và SVG sang bảng tính thất bại trên trang không có gì để vẽ
  • [Bug] Sửa lỗi chuyển đổi PDF, XPS và SVG sang EPUB thất bại trên một hyperlink không bao phủ văn bản
  • [Bug] Sửa lỗi chuyển đổi email, hộp thư và lưu trữ thất bại khi tệp đính kèm không thể chuyển đổi sang định dạng đích
  • [Bug] Sửa lỗi chuyển đổi PCL thay thế Courier New và các phông chữ đã cài đặt khác sau khi PDF đã được chuyển đổi
  • [Bug] GroupDocs.Conversion.LowCode 26.9.0: DOCX sang PDF trên Linux bỏ qua thay thế phông chữ và sử dụng phông chữ đầu tiên theo thứ tự chữ cái
  • [Bug] Sửa lỗi tài liệu XML trong GroupDocs.Conversion.LowCode 26.9.0
  • [Bug] Sửa lỗi chuyển đổi PostScript thất bại trên .NET Framework khi tài liệu sử dụng toán tử run hoặc file
  • [Bug] Sửa lỗi chuyển đổi không có giấy phép sang các định dạng ngôn ngữ mô tả trang bỏ qua giới hạn trang dùng thử
  • [Bug] Sửa lỗi chuyển đổi trang‑theo‑trang của tài liệu PSD, PSB và Illustrator AI thất bại với ngoại lệ
  • [Bug] Sửa lỗi chuyển đổi video sang định dạng âm thanh thất bại ngay cả khi đã đặt connector video
  • [Bug] Sửa lỗi chuyển đổi ProjectManagement sang PS và PCL tạo ra các trang thừa và bỏ qua lựa chọn trang
  • [Bug] Sửa lỗi ProjectManagement sang SVG ghi UTF‑16 mà không có byte order mark
  • [Bug] Sửa lỗi chuyển đổi 3D sang glTF và OBJ ghi các tệp buffer và material vào thư mục làm việc
  • [Bug] Sửa lỗi chuyển đổi MHT và MHTML sang PDF, XPS, TeX và WordProcessing hiển thị nguồn MIME thay vì trang
  • [Bug] Sửa lỗi chuyển đổi CAD sang TeX của toàn bộ bản vẽ thất bại với FileTypeNotSupported
  • [Bug] Sửa lỗi chuyển đổi PDL và XML/JSON sang PS và PCL thêm các trang thừa
  • [Bug] Sửa lỗi chuyển đổi CAD sang PS và PCL chỉ giữ lại một trang của bản vẽ DWF đa trang
  • [Bug] Sửa lỗi chuyển đổi MBOX thất bại hoặc bỏ qua header email khi tiêu đề tin nhắn trông giống như tên tệp

Thay đổi API công cộng

API mới

  • IExternalResourceHandler và ExternalResourceLoadingArgs (Uri, Skipped, Data) trong namespace GroupDocs.Conversion.Options.Load.
  • ExternalResourceHandler trên IResourceLoadingOptions và các tùy chọn tải triển khai nó.
  • ExecuteScripts trên WebLoadOptions và SvgLoadOptions.
  • SkipExternalResources, WhitelistedResources và ExternalResourceHandler trên FinanceLoadOptions và ThreeDLoadOptions, hiện triển khai IResourceLoadingOptions.

⚠️ Kiểm tra trước khi nâng cấp

  • Tài nguyên bên ngoài: các tài liệu dựa vào tệp cục bộ ngoài thư mục của chúng, đường UNC hoặc script hiện sẽ chuyển đổi mà không cần chúng. Hãy cho phép những gì bạn tin tưởng như mô tả trong Mặc định an toàn cho tài liệu không đáng tin cậy.

  • Mục whitelist: mỗi mục WhitelistedResources phải là một tiền tố URI tuyệt đối, chẳng hạn https://cdn.example.com/assets/ hoặc file:///C:/assets/. Các mục như jpg hoặc example.com, mà các phiên bản trước khớp ở bất kỳ vị trí nào trong URL, hiện sẽ khiến việc tải thất bại với InvalidLoadOptionsException.

  • XBRL và XBRL nội tuyến: một filing có taxonomy nằm ngoài thư mục của nó, hoặc được tải từ stream, hiện sẽ thất bại với InvalidLoadOptionsException. Tải các filing bạn tin tưởng như sau:

    using (Converter converter = new Converter("filing.xbrl", (LoadContext loadContext) => new FinanceLoadOptions { SkipExternalResources = false }))
    {
        converter.Convert("filing.xlsx", new SpreadsheetConvertOptions());
    }
    
  • SVG và SVGZ: khi chuyển đổi mà không có tùy chọn tải, chúng hiện sử dụng SvgLoadOptions, và PossibleConversions.LoadOptions trả về SvgLoadOptions thay vì PageDescriptionLanguageLoadOptions.

  • Định dạng đầu ra và trang: các chuyển đổi hiện tuân thủ định dạng và lựa chọn trang được yêu cầu, vì vậy đầu ra có thể khác so với các phiên bản trước cho cùng một tùy chọn. PublisherDocumentInfo.PagesCount hiện trả về số trang thực tế.

  • Các triển khai tùy chỉnh IResourceLoadingOptions phải thêm thuộc tính ExternalResourceHandler mới.

ghi chú phát hành liệt kê mọi thay đổi cùng với các thông báo ngoại lệ chính xác.

Cách nhận bản cập nhật

NuGet

Nâng cấp lên gói GroupDocs.Conversion mới nhất qua NuGet: GroupDocs.Conversion 26.10.0

dotnet add package GroupDocs.Conversion --version 26.10.0

Tải trực tiếp

Tải các assembly từ trang GroupDocs.Conversion for .NET 26.10

Tài nguyên