Extraire SVG du site Web en C#

Avez-vous déjà été dans une situation où vous souhaitiez enregistrer ou télécharger des images SVG à partir d’une page Web ou d’une URL en direct ? Les graphiques vectoriels évolutifs (SVG) sont un format d’image populaire utilisé sur les pages Web. Les images SVG sont vectorielles, ce qui signifie qu’elles sont constituées d’objets mathématiques qui peuvent être mis à l’échelle à n’importe quelle taille sans perte de qualité. Cela en fait un format polyvalent et efficace pour stocker et afficher des images. Dans cet article de blog, nous verrons comment extraire SVG d’un site Web en C#.

Cet article couvre les sujets suivants :

  1. API C# pour extraire le SVG du site Web
  2. Extraire SVG du site Web
  3. Télécharger des images SVG externes à partir du site Web
  4. Ressources d’apprentissage gratuites

API C# pour extraire le SVG du site Web

Nous utiliserons Aspose.HTML for .NET pour extraire le SVG des sites Web. Il permet aux développeurs de manipuler et de traiter des documents HTML. Il peut être utilisé pour automatiser la manipulation, la conversion ou l’analyse de documents HTML au sein d’une application .NET. Les développeurs peuvent économiser du temps et des efforts en implémentant une solution prête à l’emploi pour gérer les tâches liées au HTML par programmation. Il permet également la conversion de pages Web et de documents HTML vers formats pris en charge sans aucun logiciel externe.

Veuillez soit télécharger la DLL de l’API, soit l’installer à l’aide de NuGet.

PM> Install-Package Aspose.Html

Extraire SVG du site Web en C#

Nous pouvons extraire toutes les images SVG intégrées en utilisant le <svg> en suivant les étapes ci-dessous :

  1. Chargez une page Web à l’aide de la classe HTMLDocument.
  2. Lisez toutes les images SVG en ligne à l’aide de la méthode GetElementsByTagName().
  3. Enfin, parcourez toutes les images et enregistrez-les sur un système de fichiers local.

L’exemple de code suivant montre comment extraire SVG d’un site Web en C#.

// L'exemple de code suivant montre comment extraire SVG d'un site Web en C#.
using Aspose.Html;

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

// Ouvrez un document à partir duquel vous souhaitez extraire des images SVG en ligne
using var document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");

// Collectez toutes les images SVG en ligne
var images = document.GetElementsByTagName("svg");

for (var i = 0; i < images.Length; i++)
{
    // Enregistrez chaque image SVG sur un système de fichiers local
    File.WriteAllText(Path.Combine(OutputDir, $"{i}.svg"), images[i].OuterHTML);
}
Extraire SVG du site Web en C#

Extraire SVG du site Web en C#

Télécharger des images SVG externes à partir du site Web en C#

Nous pouvons extraire toutes les images SVG stockées en dehors d’un document HTML et chargées dans le document en suivant les étapes ci-dessous :

  1. Chargez une page Web à l’aide de la classe HTMLDocument.
  2. Lisez toutes les images SVG en ligne à l’aide de la méthode GetElementsByTagName().
  3. Enfin, parcourez toutes les images et enregistrez-les sur un système de fichiers local.

L’exemple de code suivant montre comment extraire le SVG intégré en externe à partir d’un site Web en C#.

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

// Répertoire de fichiers
string OutputDir = "C:\\Files\\";

// Ouvrez le document dont vous souhaitez extraire les SVG externes
using var document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");

// Collectez tous les éléments de l'image
var images = document.GetElementsByTagName("img");

// Créer une collection distincte d'URL d'images relatives
var urls = images.Select(element => element.GetAttribute("src")).Distinct();

// Filtrer les images non SVG
var svgUrls = urls.Where(url => url.EndsWith(".svg"));

// Créer des URL d'images SVG absolues
var absUrls = svgUrls.Select(src => new Url(src, document.BaseURI));

foreach (var url in absUrls)
{
    // Créer une demande d'extraction
    using var request = new RequestMessage(url);

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

    // Vérifiez si la réponse est réussie
    if (response.IsSuccess)
    {
        // Enregistrer l'image SVG sur le système de fichiers local
        File.WriteAllBytes(Path.Combine(OutputDir, url.Pathname.Split('/').Last()), response.Content.ReadAsByteArray());
    }
}

Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite pour essayer Aspose.HTML for .NET sans limitations d’évaluation.

Extraire SVG du site Web – Ressources d’apprentissage

Vous pouvez en savoir plus sur l’extraction de SVG à partir de sites Web et explorer diverses autres fonctionnalités de la bibliothèque en utilisant les ressources ci-dessous :

Conclusion

Dans cet article, nous avons appris comment extraire le SVG de sites Web en C#. La possibilité d’extraire des SVG à partir de sites Web ou de pages Web apporte une nouvelle dimension à la créativité numérique. Qu’il s’agisse d’archiver des graphiques inspirants, d’analyser les tendances en matière de conception ou d’améliorer vos propres projets, les étapes décrites dans cet article montrent à quel point le processus est relativement simple et nécessite quelques lignes de code. En cas d’ambiguïté, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également