Es gibt 18 Funktionen, Verbesserungen und Fehlerbehebungen in diesem Release. Dieses Update stärkt die CAD‑Konvertierung mit Layout‑Auswahl auf Ebene, pro‑Layout‑Ausgabe (Folien, Arbeitsblätter, Seiten, SVG usw.) und fügt XAR und CAB als Komprimierungsziele sowie Mermaid MMD und Drawio als Diagramm‑Quellen/Ziele hinzu.

Was ist neu in dieser Version

Key Kategorie Zusammenfassung
CONVERSIONNET-8437 Feature Drawio‑Dateiformat als Konvertierungsziel für Diagrammdokumente hinzufügen
CONVERSIONNET-8442 Feature Mermaid MMD‑Dateiformat als Konvertierungsquelle für Diagrammdokumente hinzufügen
CONVERSIONNET-8445 Feature CAB als Konvertierungsziel für Komprimierungsdokumente hinzufügen
CONVERSIONNET-8459 Feature CadLayoutScope zu CadLoadOptions hinzufügen, um Modellbereich, Papierlayouts oder beides zu konvertieren
CONVERSIONNET-8464 Feature XAR als Konvertierungsquelle und -ziel für Komprimierungsdokumente hinzufügen
CONVERSIONNET-8460 Improvement Jedes CAD‑Layout in eine eigene Folie, Arbeitsblatt, Word‑Seite, HTML/MHTML‑Bild und SVG‑Region konvertieren
CONVERSIONNET-8461 Improvement Fehlende Layouts benennen, wenn eine CAD‑Layout‑Auswahl nichts trifft
CONVERSIONNET-8462 Improvement Ein nicht gesetztes LoadOptions.Format als nicht vorhanden melden, anstatt eine Ausnahme zu werfen
CONVERSIONNET-8361 Bug DOCX‑Formen mit Konturen werden beim Konvertieren zu PDF falsch gerendert
CONVERSIONNET-8396 Bug Konvertieren einer Präsentationsdatei zu PDF führt zu inkonsistenten Kopf‑/Fußzeilen
CONVERSIONNET-8399 Bug Konvertieren einer Präsentationsdatei mit defekten Zusammenfassungslinks führt zu GroupDocsConversionException
CONVERSIONNET-8426 Bug DWG‑Datei‑zu‑PDF‑Konvertierung nach Seitenausrichtungseinstellungen
CONVERSIONNET-8427 Bug NullReferenceException beim Konvertieren von CAD‑Zeichnungen ohne aktives Layout beheben
CONVERSIONNET-8428 Bug Doppelte Einheitumrechnung beheben, wenn für CAD‑Konvertierungen eine explizite Seitengröße festgelegt ist
CONVERSIONNET-8429 Bug CAD‑zu‑PDF/UA korrigieren, das CadLoadOptions ignoriert
CONVERSIONNET-8430 Bug CadDocumentInfo korrigieren, das bei CAD‑Dokumenten mit mehreren Layouts nur eine Seite meldet
CONVERSIONNET-8444 Bug Problem mit Miniaturansicht in Linux‑Umgebung für GroupDocs.Conversion
CONVERSIONNET-8467 Bug EML zu PDF: Ausnahme wegen inkompatibler Einheitstypen

Änderungen der öffentlichen API

⚠️ Rückwärtsinkompatible Änderungen – Die folgenden Updates ändern das bestehende öffentliche Verhalten. Passen Sie Ihren Code entsprechend an, um Laufzeitfehler zu vermeiden.

1. LoadOptions.Format gibt jetzt null zurück, anstatt eine Ausnahme zu werfen, wenn das Format nicht gesetzt ist

Betroffene Klassen: alle 28 typisierten Load‑Options (z. B. SpreadsheetLoadOptions, PdfLoadOptions, CadLoadOptions, …)

Was geändert wurde
Das Auslesen der Eigenschaft Format, bevor ein Format zugewiesen wurde, löste früher eine Ausnahme aus. Jetzt wird null zurückgegeben, sodass ein einfacher Null‑Check ausreicht.

Migrationsbeispiel

var loadOptions = new SpreadsheetLoadOptions();

if (loadOptions.Format == null)
{
    // Neuer Code‑Pfad – vorher unerreichbar, weil der Getter eine Ausnahme geworfen hat.
}

Hinweis
Ersetzen Sie jedes try/catch rund um loadOptions.Format durch einen Null‑Check. Vergleichen Sie nicht mit FileType.Unknown; der korrekte Test lautet == null.


2. Exakte Übereinstimmung bei CadLoadOptions.LayoutNames mit detaillierter Fehlermeldung

Betroffene Klasse: CadLoadOptions

Was geändert wurde
LayoutNames werden jetzt exakt (Groß‑/Kleinschreibung beachtend) mit den Layout‑Namen der Zeichnung abgeglichen. Stimmen keine Namen überein, schlägt die Konvertierung mit einer InvalidLoadOptionsException fehl, die die verfügbaren Layouts und die fehlerhafte Anforderung auflistet.

Migrationsbeispiel

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

Hinweis

  • Stellen Sie sicher, dass Layout‑Namen korrekt geschrieben und in derselben Schreibweise wie in der Quellzeichnung angegeben sind.
  • Wenn nur ein Teil der Layouts benötigt wird, geben Sie exakt die gewünschten Namen an; nicht passende Einträge werden ignoriert, passende Layouts werden dennoch gerendert.

3. CAD‑Zeichnungen mit mehreren Blättern erzeugen jetzt eine Ausgabeeinheit pro Blatt

Betroffene Klassen: Converter, PresentationConvertOptions, PdfConvertOptions

Was geändert wurde
Früher führte das Konvertieren einer Zeichnung mit mehreren Paper‑Space‑Layouts zu einem einzigen flachgelegten Bild/Slide. Jetzt werden separate Ausgabeeinheiten (Folien, Seiten usw.) für jedes Layout erzeugt, wobei die Größe der jeweiligen Layout‑Seiteneinrichtung entspricht. Converter.GetDocumentInfo().PagesCount gibt die Anzahl der erzeugten Einheiten zurück.

Migrationsbeispiel – Konvertierung

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

// Drei Blätter rein, drei Folien raus – vorher eine flachgelegte Folie.
converter.Convert("drawing.pptx", new PresentationConvertOptions());

Migrationsbeispiel – Abfrage der Seitenzahl

using var converter = new Converter("multi-layout.dwg");
int sheets = converter.GetDocumentInfo().PagesCount; // Gibt 3 für drei Layouts zurück

Hinweis

  • Passen Sie nachgelagerte Verarbeitung (z. B. UI‑Paginierung, Dateinamen) an, um mehrere Ausgabedateien/Seiten zu unterstützen.
  • Für Zeichnungen mit nur einem Blatt bleibt das Verhalten unverändert.
  • Die Ausnahme ist CAD → PDF/UA‑1, das weiterhin eine einzelne getaggte Seite rendert.

4. Neue Eigenschaft CadLoadOptions.LayoutScope zur expliziten Steuerung, welche Bereiche konvertiert werden

Betroffene Klasse: CadLoadOptions

Was geändert wurde
LayoutScope ermöglicht die Angabe, ob Model, Layouts oder Both (Standard) geladen werden sollen.

  • Wenn LayoutNames gesetzt ist, wird LayoutScope ignoriert, weil explizite Namen Vorrang haben.
  • Führt die Auswahl eines Scopes zu keinen Blättern, obwohl die Zeichnung mindestens ein Blatt enthält, wird jetzt eine InvalidLoadOptionsException geworfen, anstatt stillschweigend die Standardbereiche zu rendern.

Migrationsbeispiel – nur Paper‑Space‑Layouts konvertieren

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

Hinweis

  • Existierender Code, der sich auf die implizite Backend‑Auswahl verlässt, funktioniert weiterhin, da Both nach wie vor Standard ist.
  • Um den Modellbereich auszuschließen oder ausschließlich zu verwenden, setzen Sie LayoutScope auf CadLayoutScope.Model bzw. CadLayoutScope.Layouts.
  • Wenn Sie zuvor versucht haben, Layouts zu filtern, indem Sie ein leeres LayoutNames‑Array übergeben haben, ersetzen Sie dieses Muster durch einen geeigneten LayoutScope‑Wert, um bei fehlenden Blättern eine klare Fehlermeldung zu erhalten.

Neue Funktionen

Erweiterte CAD‑Layout‑Steuerung: Wählen Sie gezielt CAD‑Layouts aus, konvertieren Sie jedes Layout in eine eigene Folie, ein Arbeitsblatt, eine Seite, ein Bild oder einen SVG‑Bereich und bestimmen Sie mit CadLayoutScope, ob Modellbereich, Papier‑Layouts oder beides verwendet werden sollen. Das liefert präzise, pro‑Layout‑Ausgaben und berücksichtigt blattspezifische Einstellungen wie Ausrichtung und Seitengröße.

Erweiterte Archiv‑Unterstützung: Die Formate XAR und CAB stehen jetzt sowohl als Quelle als auch als Ziel für Komprimierungsdokumente zur Verfügung, sodass Sie nahtlos zwischen diesen Archivtypen konvertieren können.

Moderne Diagramm‑Interoperabilität: Mermaid MMD‑Dateien können als Diagramm‑Quellen verwendet werden, und Drawio‑Dateien werden als Konvertierungsziele unterstützt, wodurch die Integration zeitgemäßer Diagramm‑Tools in Ihre Konvertierungspipelines erleichtert wird.

Kritische Stabilitätsverbesserungen: Fehlerbehebungen für EML → PDF, DOCX‑Formen‑Konturen, Präsentations‑Kopf‑/Fußzeilen und defekte Zusammenfassungslinks, Linux‑Thumbnail‑Erstellung sowie DWG‑Blatt‑Ausrichtungs‑Handling. Diese Fixes erhöhen die Zuverlässigkeit in E‑Mail-, Office‑, Präsentations‑ und CAD‑Workflows.

Code‑Beispiel

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

// Drei Blätter rein, drei Folien raus – vorher eine flachgelegte Folie.
converter.Convert("drawing.pptx", new PresentationConvertOptions());

Wie Sie das Update erhalten

NuGet

Install-Package GroupDocs.Conversion -Version 26.8

GroupDocs.Conversion 26.8 auf NuGet

Direkter Download

Keine direkten Download‑Links sind in den Release‑Notes angegeben.

Ressourcen