W tej wersji znajduje się 18 funkcji, ulepszeń i poprawek błędów. Aktualizacja wzmacnia konwersję CAD dzięki wyborowi układów na poziomie layoutu, wyjściu per‑układ (slajdy, arkusze, strony, SVG itp.) oraz dodaje XAR i CAB jako cele kompresji, a także Mermaid MMD i Drawio jako źródła/cele diagramów.

Co nowego w tej wersji

Klucz Kategoria Podsumowanie
CONVERSIONNET-8437 Funkcja Dodaj format pliku Drawio jako cel konwersji dla dokumentów Diagram
CONVERSIONNET-8442 Funkcja Dodaj format pliku Mermaid MMD jako źródło konwersji dla dokumentów Diagram
CONVERSIONNET-8445 Funkcja Dodaj CAB jako cel konwersji dla dokumentów kompresji
CONVERSIONNET-8459 Funkcja Dodaj CadLayoutScope do CadLoadOptions, aby konwertować przestrzeń modelu, układy papieru lub oba
CONVERSIONNET-8464 Funkcja Dodaj XAR jako źródło i cel konwersji dla dokumentów kompresji
CONVERSIONNET-8460 Ulepszenie Konwertuj każdy układ CAD do własnego slajdu, arkusza, strony Word, obrazu HTML/MHTML oraz regionu SVG
CONVERSIONNET-8461 Ulepszenie Nazwij brakujące układy, gdy wybór układu CAD nie pasuje do żadnego
CONVERSIONNET-8462 Ulepszenie Zgłaszaj nieustawiony LoadOptions.Format jako nieobecny zamiast wyrzucać wyjątek
CONVERSIONNET-8361 Błąd Kształty DOCX z konturami są renderowane niepoprawnie przy konwersji do PDF
CONVERSIONNET-8396 Błąd Konwersja pliku prezentacji do PDF powoduje niespójne nagłówki/stopki
CONVERSIONNET-8399 Błąd Konwersja pliku prezentacji z uszkodzonymi linkami podsumowania prowadzi do GroupDocsConversionException
CONVERSIONNET-8426 Błąd Konwersja pliku DWG do PDF uwzględnia ustawienia orientacji arkusza na każdej stronie
CONVERSIONNET-8427 Błąd Naprawiono NullReferenceException przy konwersji rysunków CAD bez aktywnego układu
CONVERSIONNET-8428 Błąd Naprawiono podwójną konwersję jednostek, gdy dla konwersji CAD ustawiono explicite rozmiar strony
CONVERSIONNET-8429 Błąd Naprawiono ignorowanie CadLoadOptions przy konwersji CAD do PDF/UA
CONVERSIONNET-8430 Błąd Naprawiono, że CadDocumentInfo zgłaszał jedną stronę dla dokumentów CAD z wieloma układami
CONVERSIONNET-8444 Błąd Problem z miniaturą w środowisku Linux dla GroupDocs.Conversion
CONVERSIONNET-8467 Błąd EML do PDF: wyjątek niekompatybilnych typów jednostek

Zmiany w publicznym API

⚠️ Zmiany niekompatybilne wstecz – Poniższe aktualizacje zmieniają istniejące zachowanie publiczne. Dostosuj swój kod, aby uniknąć błędów w czasie wykonywania.

1. LoadOptions.Format zwraca teraz null zamiast wyrzucać wyjątek, gdy format nie jest ustawiony

Klasy objęte: wszystkie 28 typowanych opcji ładowania (np., SpreadsheetLoadOptions, PdfLoadOptions, CadLoadOptions, …)

Co się zmieniło
Odczyt właściwości Format przed przypisaniem formatu powodował podniesienie wyjątku. Teraz zwraca null, co umożliwia prostą kontrolę null‑check.

Przykład migracji

var loadOptions = new SpreadsheetLoadOptions();

if (loadOptions.Format == null)
{
    // Nowa ścieżka kodu – wcześniej nieosiągalna, ponieważ getter wyrzucał wyjątek.
}

Wskazówki
Zastąp wszelkie try/catch wokół loadOptions.Format kontrolą null. Nie porównuj z FileType.Unknown; poprawny test to == null.


2. Walidacja dokładnego dopasowania dla CadLoadOptions.LayoutNames z szczegółowym raportowaniem błędów

Klasa objęta: CadLoadOptions

Co się zmieniło
LayoutNames są teraz dopasowywane dokładnie (uwzględniając wielkość liter) do nazw układów w rysunku. Jeśli żadne nie pasują, konwersja kończy się InvalidLoadOptionsException, w którym wymienione są dostępne układy oraz niezgodne żądanie.

Przykład migracji

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)
{
    // Przykładowa wiadomość:
    // "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);
}

Wskazówki

  • Upewnij się, że nazwy układów są poprawnie zapisane i uwzględniają wielkość liter używaną w źródłowym rysunku.
  • Gdy potrzebny jest tylko podzbiór układów, podaj dokładne nazwy; niepasujące pozycje są ignorowane, a pasujące układy nadal są renderowane.

3. Rysunki CAD z wieloma arkuszami teraz generują jedną jednostkę wyjściową na arkusz

Klasy objęte: Converter, PresentationConvertOptions, PdfConvertOptions

Co się zmieniło
Wcześniej konwersja rysunku z wieloma układami przestrzeni papieru skutkowała jednym spłaszczonym obrazem/slajdem. Teraz konwersja tworzy oddzielne jednostki wyjściowe (slajdy, strony itp.) dla każdego układu, rozmiarowane zgodnie z ustawieniami strony układu. Converter.GetDocumentInfo().PagesCount odzwierciedla liczbę wygenerowanych jednostek.

Przykład migracji – konwersja

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

// Trzy arkusze wejściowe, trzy slajdy wyjściowe – wcześniej jeden spłaszczony slajd.
converter.Convert("drawing.pptx", new PresentationConvertOptions());

Przykład migracji – odczyt liczby stron

using var converter = new Converter("multi-layout.dwg");
int sheets = converter.GetDocumentInfo().PagesCount; // Zwraca 3 dla trzech układów

Wskazówki

  • Dostosuj dalsze przetwarzanie (np. paginację UI, nazewnictwo plików) do obsługi wielu plików/stron wyjściowych.
  • Dla rysunków jednoskładnikowych zachowanie pozostaje niezmienione.
  • Wyjątkiem jest CAD → PDF/UA‑1, które nadal renderuje jedną stronę z tagami.

4. Nowa właściwość CadLoadOptions.LayoutScope umożliwiająca wyraźne kontrolowanie, które przestrzenie są konwertowane

Klasa objęta: CadLoadOptions

Co się zmieniło
LayoutScope pozwala określić, czy ładować Model, Layouts, czy Both (domyślnie).

  • Gdy ustawiono LayoutNames, LayoutScope jest ignorowane, ponieważ explicite podane nazwy mają pierwszeństwo.
  • Wybór zakresu, który nie zwraca arkuszy w rysunku zawierającym przynajmniej jeden arkusz, teraz powoduje InvalidLoadOptionsException zamiast cichego renderowania domyślnych przestrzeni.

Przykład migracji – konwersja tylko układów przestrzeni papieru

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

Wskazówki

  • Istniejący kod, który polegał na domyślnym wyborze backendu, nadal działa, ponieważ Both pozostaje domyślnym ustawieniem.
  • Aby wykluczyć przestrzeń modelu lub uwzględnić tylko ją, ustaw LayoutScope na CadLayoutScope.Model lub CadLayoutScope.Layouts.
  • Jeśli wcześniej próbowałeś filtrować układy, podając pustą tablicę LayoutNames, zamień ten wzorzec na odpowiednią wartość LayoutScope, aby uzyskać wyraźny błąd, gdy nie wybrano żadnych arkuszy.

Nowe funkcje

Zaawansowana kontrola układów CAD: Wybierz konkretne układy CAD, konwertuj każdy układ do własnego slajdu, arkusza, strony, obrazu lub regionu SVG oraz wybierz przestrzeń modelu, układy papieru lub oba przy użyciu CadLayoutScope. Zapewnia to precyzyjne wyjście per‑układ oraz respektuje ustawienia specyficzne dla arkusza, takie jak orientacja i rozmiar strony.

Rozszerzone wsparcie archiwów: Formaty XAR i CAB są teraz dostępne zarówno jako źródło, jak i cel dla dokumentów kompresji, umożliwiając płynną konwersję do i z tych typów archiwów.

Nowoczesna interoperacyjność diagramów: Pliki Mermaid MMD mogą być używane jako źródła diagramów, a pliki Drawio są obsługiwane jako cele konwersji, co umożliwia łatwą integrację współczesnych narzędzi do diagramów w Twoich procesach konwersji.

Krytyczne ulepszenia stabilności: Naprawiono awarie konwersji EML → PDF, konturów kształtów DOCX, nagłówków/stopki w prezentacjach oraz uszkodzonych linków podsumowania, generowanie miniatur w Linux oraz obsługę orientacji arkuszy DWG. Te poprawki zwiększają niezawodność w przepływach pracy związanych z e‑mailami, dokumentami biurowymi, prezentacjami i CAD.

Przykład kodu

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

// Trzy arkusze wejściowe, trzy slajdy wyjściowe – wcześniej jeden spłaszczony slajd.
converter.Convert("drawing.pptx", new PresentationConvertOptions());

Jak uzyskać aktualizację

NuGet

Install-Package GroupDocs.Conversion -Version 26.8

GroupDocs.Conversion 26.8 na NuGet

Bezpośrednie pobranie

W notatkach wydania nie podano bezpośrednich linków do pobrania.

Zasoby