Extrahera SVG från webbplatsen i C#

Har du någonsin varit i en situation där du ville spara eller ladda ner SVG-bilder från en webbsida eller från en live-URL? Scalable Vector Graphics (SVG) är ett populärt bildformat som används på webbsidor. SVG-bilder är vektorbaserade, vilket innebär att de är uppbyggda av matematiska objekt som kan skalas till valfri storlek utan att förlora kvalitet. Detta gör dem till ett mångsidigt och effektivt format för att lagra och visa bilder. I det här blogginlägget kommer vi att diskutera hur man extraherar SVG från en webbplats i C#.

Den här artikeln tar upp följande ämnen:

  1. C# API för att extrahera SVG från webbplatsen
  2. Extrahera SVG från webbplatsen
  3. Ladda ner externa SVG-bilder från webbplatsen
  4. Gratis läranderesurser

C# API för att extrahera SVG från webbplatsen

Vi kommer att använda Aspose.HTML for .NET för att extrahera SVG från webbplatser. Det tillåter utvecklare att manipulera och bearbeta HTML-dokument. Den kan användas för att automatisera manipulering, konvertering eller analys av HTML-dokument i en .NET-applikation. Utvecklare kan spara tid och ansträngning genom att implementera en färdig att använda lösning för att hantera HTML-relaterade uppgifter programmatiskt. Det tillåter också konvertering av HTML-webbsidor och dokument till format som stöds utan någon extern programvara.

Vänligen antingen ladda ned API:ets DLL eller installera den med NuGet.

PM> Install-Package Aspose.Html

Extrahera SVG från webbplatsen i C#

Vi kan extrahera alla SVG-bilder som är inbäddade med hjälp av <svg> element genom att följa stegen nedan:

  1. Ladda en webbsida med HTMLDocument-klassen.
  2. Läs alla inline SVG-bilder med metoden GetElementsByTagName().
  3. Slutligen, gå igenom alla bilder och spara till ett lokalt filsystem.

Följande kodexempel visar hur man extraherar SVG från en webbplats i C#.

// Följande kodexempel visar hur man extraherar SVG från en webbplats i C#.
using Aspose.Html;

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

// Öppna ett dokument som du vill extrahera inline SVG-bilder från
using var document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");

// Samla alla inline SVG-bilder
var images = document.GetElementsByTagName("svg");

for (var i = 0; i < images.Length; i++)
{
    // Spara varje SVG-bild till ett lokalt filsystem
    File.WriteAllText(Path.Combine(OutputDir, $"{i}.svg"), images[i].OuterHTML);
}
Extrahera SVG från webbplatsen i C#

Extrahera SVG från webbplatsen i C#

Ladda ner externa SVG-bilder från webbplatsen i C#

Vi kan extrahera alla SVG-bilder som lagras utanför ett HTML-dokument och laddas in i dokumentet genom att följa stegen nedan:

  1. Ladda en webbsida med HTMLDocument-klassen.
  2. Läs alla inline SVG-bilder med metoden GetElementsByTagName().
  3. Slutligen, gå igenom alla bilder och spara till ett lokalt filsystem.

Följande kodexempel visar hur man extraherar externt inbäddad SVG från en webbplats i C#.

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

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

// Öppna dokumentet du vill extrahera externa SVG från
using var document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");

// Samla alla bildelement
var images = document.GetElementsByTagName("img");

// Skapa en distinkt samling av relativa bildadresser
var urls = images.Select(element => element.GetAttribute("src")).Distinct();

// Filtrera bort icke-SVG-bilder
var svgUrls = urls.Where(url => url.EndsWith(".svg"));

// Skapa absoluta SVG-bildadresser
var absUrls = svgUrls.Select(src => new Url(src, document.BaseURI));

foreach (var url in absUrls)
{
    // Skapa en extraherande begäran
    using var request = new RequestMessage(url);

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

    // Kontrollera om svaret är framgångsrikt
    if (response.IsSuccess)
    {
        // Spara SVG-bild till lokalt filsystem
        File.WriteAllBytes(Path.Combine(OutputDir, url.Pathname.Split('/').Last()), response.Content.ReadAsByteArray());
    }
}

Få gratis licens

Du kan skaffa en gratis tillfällig licens för att prova Aspose.HTML för .NET utan utvärderingsbegränsningar.

Extrahera SVG från webbplatsen – Lärresurser

Du kan lära dig mer om att extrahera SVG från webbplatser och utforska olika andra funktioner i biblioteket med hjälp av resurserna nedan:

Slutsats

I den här artikeln lärde vi oss hur man extraherar SVG från webbplatser i C#. Möjligheten att extrahera SVG:er från webbplatser eller webbsidor ger en ny dimension till digital kreativitet. Oavsett om det är för att arkivera inspirerande grafik, analysera designtrender eller förbättra dina egna projekt, visar stegen som beskrivs i den här artikeln hur processen är relativt enkel och kräver några rader kod. I händelse av oklarheter är du välkommen att kontakta oss på vårt gratis supportforum.

Se även