Extrahieren Sie SVG aus einer Website in C#

Waren Sie schon einmal in der Situation, dass Sie SVG bilder von einer Webseite oder einer Live-URL speichern oder herunterladen wollten? Scalable Vector Graphics (SVG) ist ein beliebtes Bildformat, das auf Webseiten verwendet wird. SVG bilder sind vektorbasiert, das heißt, sie bestehen aus mathematischen Objekten, die ohne Qualitätsverlust auf jede beliebige Größe skaliert werden können. Dies macht sie zu einem vielseitigen und effizienten Format zum Speichern und Anzeigen von Bildern. In diesem Blogbeitrag besprechen wir, wie man SVG aus einer Website in C# extrahiert.

Dieser Artikel behandelt die folgenden Themen:

  1. C# API zum Extrahieren von SVG aus der Website
  2. SVG von Website extrahieren
  3. Externe SVG bilder von der Website herunterladen
  4. Kostenlose Lernressourcen

C# API zum Extrahieren von SVG aus einer Website

Wir werden Aspose.HTML for .NET zum Extrahieren von SVG aus Websites verwenden. Es ermöglicht Entwicklern, HTML Dokumente zu manipulieren und zu verarbeiten. Es kann verwendet werden, um die Bearbeitung, Konvertierung oder Analyse von HTML Dokumenten innerhalb einer .NET-Anwendung zu automatisieren. Entwickler können Zeit und Aufwand sparen, indem sie eine gebrauchsfertige Lösung für die programmgesteuerte Bearbeitung von HTML-bezogenen Aufgaben implementieren. Es ermöglicht auch die Konvertierung von HTML-Webseiten und Dokumenten in unterstützte Formate ohne externe Software.

Bitte laden Sie die DLL der API herunter oder installieren Sie sie mit NuGet.

PM> Install-Package Aspose.Html

Extrahieren Sie SVG aus einer Website in C#

Wir können alle eingebetteten SVG bilder mit dem extrahieren<svg>-Element, indem Sie die folgenden Schritte ausführen:

  1. Laden Sie eine Webseite mit der HTMLDocument Klasse.
  2. Lesen Sie alle Inline-SVG bilder mit der Methode GetElementsByTagName().
  3. Abschließend durchlaufen Sie alle Bilder und speichern sie in einem lokalen Dateisystem.

Das folgende Codebeispiel zeigt, wie man SVG aus einer Website in C# extrahiert.

// Das folgende Codebeispiel zeigt, wie SVG aus einer Website in C# extrahiert wird.
using Aspose.Html;

string OutputDir = "C:\\Files\\Internal\\";

// Öffnen Sie ein Dokument, aus dem Sie Inline-SVG bilder extrahieren möchten
using var document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");

// Sammeln Sie alle Inline-SVG bilder
var images = document.GetElementsByTagName("svg");

for (var i = 0; i < images.Length; i++)
{
    // Speichern Sie jedes SVG bild in einem lokalen Dateisystem
    File.WriteAllText(Path.Combine(OutputDir, $"{i}.svg"), images[i].OuterHTML);
}
Extrahieren Sie SVG aus einer Website in C#

Extrahieren Sie SVG aus einer Website in C#

Laden Sie externe SVG bilder von der Website in C# herunter

Wir können alle SVG bilder extrahieren, die außerhalb eines HTML Dokuments gespeichert und in das Dokument geladen werden, indem wir die folgenden Schritte ausführen:

  1. Laden Sie eine Webseite mit der HTMLDocument Klasse.
  2. Lesen Sie alle Inline-SVG bilder mit der Methode GetElementsByTagName().
  3. Abschließend durchlaufen Sie alle Bilder und speichern sie in einem lokalen Dateisystem.

Das folgende Codebeispiel zeigt, wie man extern eingebettete SVG Dateien aus einer Website in C# extrahiert.

using Aspose.Html;
using Aspose.Html.Net;

// Dateiverzeichnis
string OutputDir = "C:\\Files\\";

// Öffnen Sie das Dokument, aus dem Sie externe SVGs extrahieren möchten
using var document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");

// Sammeln Sie alle Bildelemente
var images = document.GetElementsByTagName("img");

// Erstellen Sie eine eindeutige Sammlung relativer Bild-URLs
var urls = images.Select(element => element.GetAttribute("src")).Distinct();

// Filtern Sie Nicht-SVG bilder heraus
var svgUrls = urls.Where(url => url.EndsWith(".svg"));

// Erstellen Sie absolute SVG bild-URLs
var absUrls = svgUrls.Select(src => new Url(src, document.BaseURI));

foreach (var url in absUrls)
{
    // Erstellen Sie eine Extraktionsanforderung
    using var request = new RequestMessage(url);

    // SVG extrahieren
    using var response = document.Context.Network.Send(request);

    // Prüfen Sie, ob die Antwort erfolgreich ist
    if (response.IsSuccess)
    {
        // Speichern Sie das SVG bild im lokalen Dateisystem
        File.WriteAllBytes(Path.Combine(OutputDir, url.Pathname.Split('/').Last()), response.Content.ReadAsByteArray());
    }
}

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erwerben, um Aspose.HTML for .NET ohne Evaluierungseinschränkungen auszuprobieren.

Extrahieren Sie SVG von der Website – Lernressourcen

Mithilfe der folgenden Ressourcen können Sie mehr über das Extrahieren von SVG aus Websites erfahren und verschiedene andere Funktionen der Bibliothek erkunden:

Abschluss

In diesem Artikel haben wir gelernt, wie man SVG aus Websites in C# extrahiert. Die Möglichkeit, SVGs aus Websites oder Webseiten zu extrahieren, verleiht der digitalen Kreativität eine neue Dimension. Ob es darum geht, inspirierende Grafiken zu archivieren, Designtrends zu analysieren oder Ihre eigenen Projekte zu verbessern, die in diesem Artikel beschriebenen Schritte zeigen, dass der Prozess relativ einfach ist und ein paar Zeilen Code erfordert. Bei Unklarheiten können Sie uns gerne in unserem kostenlosen Support-Forum kontaktieren.

Siehe auch