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,LayoutScopejest 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
InvalidLoadOptionsExceptionzamiast 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
LayoutScopenaCadLayoutScope.ModellubCadLayoutScope.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.