Estrai SVG dal sito Web in C#

Ti sei mai trovato nella situazione in cui volevi salvare o scaricare immagini SVG da una pagina Web o da un URL live? Scalable Vector Graphics (SVG) è un formato immagine popolare utilizzato nelle pagine Web. Le immagini SVG sono basate su vettori, il che significa che sono costituite da oggetti matematici che possono essere ridimensionati a qualsiasi dimensione senza perdere qualità. Ciò li rende un formato versatile ed efficiente per archiviare e visualizzare immagini. In questo post del blog discuteremo come estrarre SVG da un sito Web in C#.

Questo articolo tratta i seguenti argomenti:

  1. API C# per estrarre SVG dal sito Web
  2. Estrai SVG dal sito Web
  3. Scarica immagini SVG esterne dal sito Web
  4. Risorse didattiche gratuite

API C# per estrarre SVG dal sito Web

Utilizzeremo Aspose.HTML for .NET per estrarre SVG dai siti web. Consente agli sviluppatori di manipolare ed elaborare documenti HTML. Può essere utilizzato per automatizzare la manipolazione, la conversione o l’analisi di documenti HTML all’interno di un’applicazione .NET. Gli sviluppatori possono risparmiare tempo e fatica implementando una soluzione pronta all’uso per la gestione programmatica delle attività correlate all’HTML. Consente inoltre la conversione di pagine Web e documenti HTML in formati supportati senza alcun software esterno.

scarica la DLL dell’API o installala utilizzando NuGet.

PM> Install-Package Aspose.Html

Estrai SVG dal sito Web in C#

Possiamo estrarre tutte le immagini SVG incorporate utilizzando il file <svg> elemento seguendo i passaggi seguenti:

  1. Carica una pagina web utilizzando la classe HTMLDocument.
  2. Leggi tutte le immagini SVG in linea utilizzando il metodo GetElementsByTagName().
  3. Infine, scorri tutte le immagini e salva su un file system locale.

L’esempio di codice seguente mostra come estrarre SVG da un sito Web in C#.

// L'esempio di codice seguente illustra come estrarre SVG da un sito Web in C#.
using Aspose.Html;

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

// Apri un documento da cui desideri estrarre le immagini SVG in linea
using var document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");

// Raccogli tutte le immagini SVG in linea
var images = document.GetElementsByTagName("svg");

for (var i = 0; i < images.Length; i++)
{
    // Salva ogni immagine SVG in un file system locale
    File.WriteAllText(Path.Combine(OutputDir, $"{i}.svg"), images[i].OuterHTML);
}
Estrai SVG dal sito Web in C#

Estrai SVG dal sito Web in C#

Scarica immagini SVG esterne dal sito Web in C#

Possiamo estrarre tutte le immagini SVG archiviate all’esterno di un documento HTML e caricate nel documento seguendo i passaggi seguenti:

  1. Carica una pagina web utilizzando la classe HTMLDocument.
  2. Leggi tutte le immagini SVG in linea utilizzando il metodo GetElementsByTagName().
  3. Infine, scorri tutte le immagini e salva su un file system locale.

L’esempio di codice seguente mostra come estrarre SVG incorporato esternamente da un sito Web in C#.

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

// Directory dei file
string OutputDir = "C:\\Files\\";

// Apri il documento da cui desideri estrarre gli SVG esterni
using var document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");

// Raccogli tutti gli elementi dell'immagine
var images = document.GetElementsByTagName("img");

// Crea una raccolta distinta di URL di immagini relative
var urls = images.Select(element => element.GetAttribute("src")).Distinct();

// Filtra le immagini non SVG
var svgUrls = urls.Where(url => url.EndsWith(".svg"));

// Crea URL di immagini SVG assoluti
var absUrls = svgUrls.Select(src => new Url(src, document.BaseURI));

foreach (var url in absUrls)
{
    // Crea una richiesta di estrazione
    using var request = new RequestMessage(url);

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

    // Controlla se la risposta ha esito positivo
    if (response.IsSuccess)
    {
        // Salva l'immagine SVG nel file system locale
        File.WriteAllBytes(Path.Combine(OutputDir, url.Pathname.Split('/').Last()), response.Content.ReadAsByteArray());
    }
}

Ottieni la licenza gratuita

Puoi ottenere una licenza temporanea gratuita per provare Aspose.HTML for .NET senza limitazioni di valutazione.

Estrai SVG dal sito Web – Risorse didattiche

Puoi saperne di più sull’estrazione di SVG dai siti Web ed esplorare varie altre funzionalità della libreria utilizzando le risorse seguenti:

Conclusione

In questo articolo abbiamo imparato come estrarre SVG dai siti Web in C#. La capacità di estrarre SVG da siti Web o pagine Web offre una nuova dimensione alla creatività digitale. Che si tratti di archiviare grafica stimolante, analizzare tendenze di design o migliorare i tuoi progetti, i passaggi descritti in questo articolo mostrano come il processo sia relativamente semplice e richieda poche righe di codice. In caso di ambiguità, non esitate a contattarci sul nostro forum di supporto gratuito.

Guarda anche