Có 18 tính năng, cải tiến và sửa lỗi trong bản phát hành này. Bản cập nhật này củng cố việc chuyển đổi CAD với khả năng chọn mức bố cục, đầu ra theo từng bố cục (slide, worksheet, trang, SVG, v.v.), và thêm XAR và CAB làm mục tiêu nén, cũng như Mermaid MMD và Drawio làm nguồn/đích cho sơ đồ.

What’s new in this release

Key Category Summary
CONVERSIONNET-8437 Feature Thêm định dạng tệp Drawio làm đích chuyển đổi cho tài liệu Diagram
CONVERSIONNET-8442 Feature Thêm định dạng tệp Mermaid MMD làm nguồn chuyển đổi cho tài liệu Diagram
CONVERSIONNET-8445 Feature Thêm CAB làm đích chuyển đổi cho tài liệu nén
CONVERSIONNET-8459 Feature Thêm CadLayoutScope vào CadLoadOptions để chuyển đổi không gian mô hình, bố cục giấy, hoặc cả hai
CONVERSIONNET-8464 Feature Thêm XAR làm nguồn và đích chuyển đổi cho tài liệu nén
CONVERSIONNET-8460 Improvement Chuyển đổi mỗi bố cục CAD thành slide, worksheet, trang Word, hình ảnh HTML/MHTML và vùng SVG riêng
CONVERSIONNET-8461 Improvement Đặt tên cho các bố cục thiếu khi lựa chọn bố cục CAD không khớp với bất kỳ gì
CONVERSIONNET-8462 Improvement Báo cáo LoadOptions.Format chưa được đặt là không tồn tại thay vì ném ngoại lệ
CONVERSIONNET-8361 Bug Các hình dạng DOCX có đường viền được hiển thị không đúng khi chuyển đổi sang PDF
CONVERSIONNET-8396 Bug Chuyển đổi tệp Presentation sang PDF gây ra tiêu đề/chân trang không nhất quán
CONVERSIONNET-8399 Bug Chuyển đổi tệp Presentation có liên kết tóm tắt bị hỏng dẫn đến GroupDocsConversionException
CONVERSIONNET-8426 Bug Chuyển đổi tệp DWG sang PDF theo cài đặt hướng của mỗi trang sheet
CONVERSIONNET-8427 Bug Sửa NullReferenceException khi chuyển đổi bản vẽ CAD không có bố cục hoạt động
CONVERSIONNET-8428 Bug Sửa chuyển đổi đơn vị đôi khi kích thước trang được đặt rõ ràng cho chuyển đổi CAD
CONVERSIONNET-8429 Bug Sửa CAD sang PDF/UA bỏ qua CadLoadOptions
CONVERSIONNET-8430 Bug Sửa CadDocumentInfo báo cáo một trang cho tài liệu CAD đa bố cục
CONVERSIONNET-8444 Bug Vấn đề với hình thu nhỏ trong môi trường Linux cho GroupDocs.Conversion
CONVERSIONNET-8467 Bug EML sang PDF: Ngoại lệ loại đơn vị không tương thích

Public API changes

⚠️ Thay đổi không tương thích ngược – Các cập nhật sau thay đổi hành vi công khai hiện có. Điều chỉnh mã của bạn cho phù hợp để tránh lỗi thời gian chạy.

1. LoadOptions.Format hiện trả về null thay vì ném ngoại lệ khi định dạng chưa được đặt

Các lớp bị ảnh hưởng: tất cả 28 load‑options có kiểu (ví dụ, SpreadsheetLoadOptions, PdfLoadOptions, CadLoadOptions, …)

Điều đã thay đổi
Việc đọc thuộc tính Format trước khi một định dạng được gán trước đây sẽ gây ra ngoại lệ. Bây giờ nó trả về null, cho phép kiểm tra null đơn giản.

Ví dụ di chuyển

var loadOptions = new SpreadsheetLoadOptions();

if (loadOptions.Format == null)
{
    // New code path – previously unreachable because the getter threw.
}

Hướng dẫn
Thay thế bất kỳ try/catch nào quanh loadOptions.Format bằng kiểm tra null. Không so sánh với FileType.Unknown; kiểm tra đúng là == null.


2. Xác thực khớp chính xác cho CadLoadOptions.LayoutNames với báo cáo lỗi chi tiết

Các lớp bị ảnh hưởng: CadLoadOptions

Điều đã thay đổi
LayoutNames hiện được khớp chính xác (phân biệt chữ hoa/thường) với tên bố cục của bản vẽ. Nếu không có nào khớp, việc chuyển đổi sẽ thất bại với InvalidLoadOptionsException liệt kê các bố cục khả dụng và yêu cầu không khớp.

Ví dụ di chuyển

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)
{
    // Example message:
    // "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);
}

Hướng dẫn

  • Đảm bảo tên bố cục được viết đúng và khớp với chữ hoa/thường trong bản vẽ nguồn.
  • Khi chỉ cần một phần các bố cục, cung cấp các tên chính xác; các mục không khớp sẽ bị bỏ qua, và các bố cục khớp vẫn được render.

3. Bản vẽ CAD đa sheet hiện tạo một đơn vị đầu ra cho mỗi sheet

Các lớp bị ảnh hưởng: Converter, PresentationConvertOptions, PdfConvertOptions

Điều đã thay đổi
Trước đây, chuyển đổi bản vẽ có nhiều bố cục paper‑space dẫn đến một hình ảnh/slide phẳng duy nhất. Bây giờ việc chuyển đổi tạo các đơn vị đầu ra riêng biệt (slide, trang, v.v.) cho mỗi bố cục, kích thước theo thiết lập trang của bố cục. Converter.GetDocumentInfo().PagesCount phản ánh số lượng đơn vị được tạo.

Ví dụ di chuyển – chuyển đổi

using var converter = new Converter("multi-layout.dwg");

// Three sheets in, three slides out – previously one flattened slide.
converter.Convert("drawing.pptx", new PresentationConvertOptions());

Ví dụ di chuyển – truy vấn số trang

using var converter = new Converter("multi-layout.dwg");
int sheets = converter.GetDocumentInfo().PagesCount; // Returns 3 for three layouts

Hướng dẫn

  • Điều chỉnh quy trình xử lý phía sau (ví dụ, phân trang UI, đặt tên tệp) để hỗ trợ nhiều tệp/trang đầu ra.
  • Đối với bản vẽ một sheet, hành vi vẫn giữ nguyên.
  • Ngoại lệ là CAD → PDF/UA‑1, vẫn render một trang được gắn thẻ duy nhất.

4. Thuộc tính mới CadLoadOptions.LayoutScope để kiểm soát rõ ràng không gian nào sẽ được chuyển đổi

Các lớp bị ảnh hưởng: CadLoadOptions

Điều đã thay đổi
LayoutScope cho phép bạn chỉ định tải Model, Layouts, hoặc Both (mặc định).

  • Khi LayoutNames được đặt, LayoutScope sẽ bị bỏ qua vì các tên cụ thể có ưu tiên.
  • Nếu chọn một phạm vi không tạo ra sheet nào cho bản vẽ có ít nhất một sheet, sẽ ném InvalidLoadOptionsException thay vì im lặng render các không gian mặc định.

Ví dụ di chuyển – chỉ chuyển đổi bố cục giấy

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

Hướng dẫn

  • Mã hiện có dựa trên lựa chọn ngầm vẫn hoạt động vì Both vẫn là mặc định.
  • Để loại trừ không gian mô hình hoặc chỉ bao gồm nó, đặt LayoutScope thành CadLayoutScope.Model hoặc CadLayoutScope.Layouts tương ứng.
  • Nếu trước đây bạn cố gắng lọc bố cục bằng cách cung cấp mảng LayoutNames rỗng, hãy thay thế cách đó bằng giá trị LayoutScope thích hợp để nhận lỗi rõ ràng khi không có sheet nào được chọn.

New features

Kiểm soát bố cục CAD nâng cao: Chọn các bố cục CAD cụ thể, chuyển đổi mỗi bố cục thành slide, worksheet, trang, hình ảnh hoặc vùng SVG riêng, và chọn không gian mô hình, bố cục giấy, hoặc cả hai bằng CadLayoutScope. Điều này cung cấp đầu ra chính xác theo từng bố cục và tôn trọng các cài đặt riêng của sheet như hướng và kích thước trang.

Mở rộng hỗ trợ lưu trữ: Định dạng XAR và CAB hiện có sẵn cả ở vai trò nguồn và đích cho tài liệu nén, cho phép chuyển đổi liền mạch tới và từ các loại archive này.

Tương thích sơ đồ hiện đại: Tệp Mermaid MMD có thể được dùng làm nguồn sơ đồ, và tệp Drawio được hỗ trợ làm đích chuyển đổi, giúp tích hợp dễ dàng các công cụ vẽ sơ đồ hiện đại vào quy trình chuyển đổi của bạn.

Cải thiện ổn định quan trọng: Đã sửa lỗi chuyển đổi EML → PDF, lỗi đường viền hình dạng DOCX, tiêu đề/chân trang trong presentation, liên kết tóm tắt bị hỏng, tạo thumbnail trên Linux, và xử lý hướng sheet DWG. Những sửa chữa này nâng cao độ tin cậy trong các quy trình làm việc với email, văn phòng, trình chiếu và CAD.

Code example

using var converter = new Converter("multi-layout.dwg");

// Three sheets in, three slides out – previously one flattened slide.
converter.Convert("drawing.pptx", new PresentationConvertOptions());

How to get the update

NuGet

Install-Package GroupDocs.Conversion -Version 26.8

GroupDocs.Conversion 26.8 on NuGet

Direct download

Không có liên kết tải xuống trực tiếp nào được cung cấp trong ghi chú phát hành.

Resources