Você já esteve em uma situação em que quis salvar ou baixar imagens SVG de uma página da web ou de um URL ativo? Scalable Vector Graphics (SVG) é um formato de imagem popular usado em páginas da web. As imagens SVG são baseadas em vetores, o que significa que são compostas de objetos matemáticos que podem ser dimensionados para qualquer tamanho sem perder qualidade. Isso os torna um formato versátil e eficiente para armazenar e exibir imagens. Nesta postagem do blog, discutiremos como extrair SVG de um site em C#.
Este artigo cobre os seguintes tópicos:
- API C# para extrair SVG do site
- Extrair SVG do site
- Baixar imagens SVG externas do site
- Recursos de aprendizagem gratuitos
API C# para extrair SVG do site
Usaremos o Aspose.HTML for .NET para extrair SVG de sites. Ele permite que os desenvolvedores manipulem e processem documentos HTML. Ele pode ser usado para automatizar a manipulação, conversão ou análise de documentos HTML em um aplicativo .NET. Os desenvolvedores podem economizar tempo e esforço implementando uma solução pronta para uso para lidar programaticamente com tarefas relacionadas a HTML. Ele também permite a conversão de páginas da web e documentos HTML para formatos suportados sem qualquer software externo.
Por favor baixe a DLL da API ou instale-a usando NuGet.
PM> Install-Package Aspose.Html
Extraia SVG do site em C#
Podemos extrair todas as imagens SVG incorporadas usando o <svg>
elemento seguindo as etapas abaixo:
- Carregue uma página da web usando a classe HTMLDocument.
- Leia todas as imagens SVG embutidas usando o método GetElementsByTagName().
- Por fim, percorra todas as imagens e salve em um sistema de arquivos local.
O exemplo de código a seguir mostra como extrair SVG de um site em C#.
// O exemplo de código a seguir demonstra como extrair SVG de um site em C#.
using Aspose.Html;
string OutputDir = "C:\\Files\\Internal\\";
// Abra um documento do qual deseja extrair imagens SVG embutidas
using var document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");
// Colete todas as imagens SVG embutidas
var images = document.GetElementsByTagName("svg");
for (var i = 0; i < images.Length; i++)
{
// Salve todas as imagens SVG em um sistema de arquivos local
File.WriteAllText(Path.Combine(OutputDir, $"{i}.svg"), images[i].OuterHTML);
}
Baixe imagens SVG externas do site em C#
Podemos extrair todas as imagens SVG armazenadas fora de um documento HTML e carregadas no documento seguindo as etapas abaixo:
- Carregue uma página da web usando a classe HTMLDocument.
- Leia todas as imagens SVG embutidas usando o método GetElementsByTagName().
- Por fim, percorra todas as imagens e salve em um sistema de arquivos local.
O exemplo de código a seguir mostra como extrair SVG incorporado externamente de um site em C#.
using Aspose.Html;
using Aspose.Html.Net;
// Diretório de arquivos
string OutputDir = "C:\\Files\\";
// Abra o documento do qual deseja extrair SVGs externos
using var document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");
// Colete todos os elementos da imagem
var images = document.GetElementsByTagName("img");
// Crie uma coleção distinta de URLs de imagens relativas
var urls = images.Select(element => element.GetAttribute("src")).Distinct();
// Filtre imagens não SVG
var svgUrls = urls.Where(url => url.EndsWith(".svg"));
// Crie URLs de imagem SVG absolutos
var absUrls = svgUrls.Select(src => new Url(src, document.BaseURI));
foreach (var url in absUrls)
{
// Crie uma solicitação de extração
using var request = new RequestMessage(url);
// Extrair SVG
using var response = document.Context.Network.Send(request);
// Verifique se a resposta foi bem-sucedida
if (response.IsSuccess)
{
// Salvar imagem SVG no sistema de arquivos local
File.WriteAllBytes(Path.Combine(OutputDir, url.Pathname.Split('/').Last()), response.Content.ReadAsByteArray());
}
}
Obtenha licença gratuita
Você pode obter uma licença temporária gratuita para experimentar o Aspose.HTML for .NET sem limitações de avaliação.
Extraia SVG do site – Recursos de aprendizagem
Você pode aprender mais sobre como extrair SVG de sites e explorar vários outros recursos da biblioteca usando os recursos abaixo:
Conclusão
Neste artigo, aprendemos como extrair SVG de sites em C#. A capacidade de extrair SVGs de sites ou páginas traz uma nova dimensão à criatividade digital. Seja para arquivar gráficos inspiradores, analisar tendências de design ou aprimorar seus próprios projetos, as etapas descritas neste artigo mostram como o processo é relativamente simples e requer algumas linhas de código. Em caso de qualquer ambigüidade, sinta-se à vontade para nos contatar em nosso fórum de suporte gratuito.