SVGZ in SVG umwandeln mit C#

Beim Arbeiten mit Vektorgrafiken sind Dateigröße und Kompatibilität häufig entscheidende Faktoren. SVGZ-Dateien sind GZIP-komprimierte Versionen von SVG-Dateien, die helfen, die Dateigröße zu verringern. Allerdings werden sie nicht von allen Tools oder Plattformen unterstützt. In diesem Artikel zeigen wir, wie Sie eine SVGZ-Datei mit Aspose.SVG for .NET in das Standardformat SVG konvertieren. Außerdem erfahren Sie, wie Sie den Vorgang automatisieren, indem Sie Verzeichnisse durchsuchen und mehrere SVGZ-Dateien stapelweise konvertieren. Diese Konvertierung ermöglicht es Entwicklern, mit unkomprimierten und editierbaren SVG-Dateien zu arbeiten.

Über das SVGZ-Dateiformat

SVGZ-Dateien sind GZIP-komprimierte Varianten von Standard-SVG-Dateien. Es handelt sich nicht um ein neues Format – sie verwenden lediglich den weit verbreiteten GZIP-Algorithmus, um die Dateigröße zu reduzieren. Da SVG-Dateien auf XML basieren, können sie sehr umfangreich sein, insbesondere bei komplexen Pfaden, Verläufen oder eingebetteten Stilen. Das macht sie besonders gut komprimierbar. Durch GZIP-Kompression kann die Größe einer SVG-Datei je nach Komplexität um 50–70 % reduziert werden. Dies ist besonders hilfreich für schnellere Ladezeiten und bessere Leistung in Webanwendungen, bei denen Dateigröße und Bandbreite entscheidend sind. Dateien mit der Erweiterung .svgz zeigen an, dass sie komprimiert sind; unkomprimierte Dateien tragen weiterhin .svg.

SVGZ-Dokument als SVG speichern

Die Aspose.SVG for .NET API bietet:

Der folgende Codeausschnitt zeigt eine einfache Einzeldateikonvertierung: Eine SVGZ-Datei wird von der Festplatte geladen und als unkomprimierte SVG-Datei gespeichert. Mit der Klasse SVGDocument und SVGSaveFormat.SVG gelingt das mit nur wenigen Codezeilen:

1using Aspose.Svg.Saving;
2using System.IO;
3...
4
5    // SVG-Dokument laden
6	SVGDocument document = new SVGDocument(Path.Combine(DataDir, "shapes.svgz"));
7	
8	// Dokument als SVG speichern
9	document.Save(Path.Combine(OutputDir, "shapes.svg"), SVGSaveFormat.SVG);

Mehrere SVGZ-Dateien in SVG konvertieren

In der Praxis, insbesondere bei größeren Mengen an Ressourcen wie exportierter Grafik oder archivierten Webassets, kann es erforderlich sein, mehrere SVGZ-Dateien gleichzeitig zu konvertieren. In solchen Fällen lohnt sich die Automatisierung durch das Durchsuchen von Verzeichnissen und Stapelverarbeitung.

Das folgende Beispiel zeigt, wie man durch ein Verzeichnis iteriert, jede .svgz-Datei lädt, in .svg konvertiert und auftretende Fehler individuell behandelt, sodass der Prozess auch bei Problemen mit einzelnen Dateien weiterläuft:

 1using Aspose.Svg.Saving;
 2using System.IO;
 3using System;
 4...
 5
 6	// Alle .svgz-Dateien im Eingabeverzeichnis durchlaufen
 7	foreach (string svgzFile in Directory.GetFiles(DataDir, "*.svgz"))
 8	{
 9		try
10		{
11			// Dateiname ohne Erweiterung extrahieren
12			string fileNameWithoutExt = Path.GetFileNameWithoutExtension(svgzFile);
13
14			// Ausgabepfad mit .svg-Erweiterung erstellen
15			string outputPath = Path.Combine(OutputDir, fileNameWithoutExt + ".svg");
16
17			// Komprimierte SVGZ-Datei laden
18			using (SVGDocument document = new SVGDocument(svgzFile))
19			{
20				// Als unkomprimierte SVG-Datei speichern
21				document.Save(outputPath, SVGSaveFormat.SVG);
22			}
23
24			// Erfolgreiche Konvertierung protokollieren
25			Console.WriteLine($"Converted: {fileNameWithoutExt}.svgz → {fileNameWithoutExt}.svg");
26		}
27		catch (Exception ex)
28		{
29			// Fehler bei der Konvertierung protokollieren
30			Console.WriteLine($"Failed to convert {svgzFile}: {ex.Message}");
31		}
32	}

SVGZ – Einschränkungen und Kompatibilität

Trotz ihrer Vorteile haben SVGZ-Dateien gewisse Einschränkungen:

Daher konvertieren Entwickler SVGZ-Dateien häufig zurück in SVG, wenn sie die Grafik bearbeiten, Bibliotheken nutzen möchten, die keine komprimierten Dateien unterstützen, oder den SVG-Code direkt in HTML oder JavaScript einbetten wollen.

Gzip-Kompressionstechnologie

GZIP (GNU zip) ist eine verbreitete Kompressionstechnologie und ein dazugehöriges Datenformat. Wahrscheinlich haben Sie es schon häufiger verwendet, als Sie denken. Es wurde vom GNU-Projekt eingeführt und ist heute in RFC 1952 standardisiert. GZIP findet man überall – von .gz-Dateien bis hin zu Webservern, die HTML, CSS und JavaScript komprimieren, bevor sie an den Browser gesendet werden. Tools wie gzip, gunzip oder Bibliotheken wie zlib unterstützen GZIP nativ.

Im Kern nutzt GZIP den DEFLATE-Algorithmus, der zwei Techniken kombiniert: LZ77 (Erkennung und Ersetzung wiederkehrender Muster) und Huffman-Codierung, um häufig genutzte Daten effizienter zu komprimieren. Diese Kombination sorgt für hohe Kompression bei vollständiger Wiederherstellbarkeit.

Ein entscheidender Vorteil ist, dass GZIP datenstrombasiert arbeitet – also Daten bereits während der Übertragung komprimieren kann. Das macht es ideal für Webanwendungen. Zudem ist GZIP verlustfrei – es gehen beim Dekomprimieren keine Daten verloren. Und das Beste: Es wird von nahezu allen modernen Browsern, Betriebssystemen und Programmiersprachen unterstützt.

Siehe auch

Aspose.SVG bietet einen kostenlosen Online-SVG-Konverter, mit dem Sie SVG-Dateien in verschiedene Formate wie PDF, XPS, JPG, PNG, BMP, TIFF, GIF, WebP und SVGZ umwandeln können. Datei auswählen, Format wählen, fertig – schnell und kostenlos!

Text “Online-SVG-Konverter”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.