Извлечь SVG с веб-сайта на C#

Были ли вы когда-нибудь в ситуации, когда вам хотелось сохранить или загрузить изображения SVG с веб-страницы или с действующего URL-адреса? Масштабируемая векторная графика (SVG) — популярный формат изображений, используемый на веб-страницах. Изображения SVG являются векторными, что означает, что они состоят из математических объектов, которые можно масштабировать до любого размера без потери качества. Это делает их универсальным и эффективным форматом для хранения и отображения изображений. В этом сообщении блога мы обсудим, как извлечь SVG с веб-сайта на C#.

В этой статье рассматриваются следующие темы:

  1. C# API для извлечения SVG с веб-сайта
  2. Извлечь SVG с веб-сайта
  3. Загрузить внешние изображения SVG с веб-сайта
  4. Бесплатные учебные ресурсы

C# API для извлечения SVG с веб-сайта

Мы будем использовать Aspose.HTML for .NET для извлечения SVG с веб-сайтов. Он позволяет разработчикам манипулировать и обрабатывать HTML-документы. Его можно использовать для автоматизации манипуляций, преобразования или анализа HTML-документов в приложении .NET. Разработчики могут сэкономить время и усилия, внедрив готовое к использованию решение для программного решения задач, связанных с HTML. Он также позволяет конвертировать веб-страницы и документы HTML в поддерживаемые форматы без какого-либо внешнего программного обеспечения.

Пожалуйста, загрузите DLL API или установите ее с помощью NuGet.

PM> Install-Package Aspose.Html

Извлечь SVG с веб-сайта на C#

Мы можем извлечь все встроенные изображения SVG, используя <svg> , выполнив следующие действия:

  1. Загрузите веб-страницу с помощью класса HTMLDocument.
  2. Прочтите все встроенные изображения SVG с помощью метода GetElementsByTagName().
  3. Наконец, просмотрите все изображения и сохраните их в локальной файловой системе.

В следующем примере кода показано, как извлечь SVG с веб-сайта на C#.

// В следующем примере кода показано, как извлечь SVG с веб-сайта на C#.
using Aspose.Html;

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

// Откройте документ, из которого вы хотите извлечь встроенные изображения SVG.
using var document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");

// Соберите все встроенные изображения SVG.
var images = document.GetElementsByTagName("svg");

for (var i = 0; i < images.Length; i++)
{
    // Сохраняйте каждое изображение SVG в локальной файловой системе.
    File.WriteAllText(Path.Combine(OutputDir, $"{i}.svg"), images[i].OuterHTML);
}
Извлечь SVG с веб-сайта на C#

Извлечение SVG с веб-сайта на C#

Загрузите внешние изображения SVG с веб-сайта на C#.

Мы можем извлечь все изображения SVG, которые хранятся вне HTML-документа и загружены в него, выполнив следующие действия:

  1. Загрузите веб-страницу с помощью класса HTMLDocument.
  2. Прочтите все встроенные изображения SVG с помощью метода GetElementsByTagName().
  3. Наконец, просмотрите все изображения и сохраните их в локальной файловой системе.

В следующем примере кода показано, как извлечь внешний внедренный SVG с веб-сайта на C#.

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

// Каталог файлов
string OutputDir = "C:\\Files\\";

// Откройте документ, из которого вы хотите извлечь внешние SVG.
using var document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");

// Соберите все элементы изображения
var images = document.GetElementsByTagName("img");

// Создайте отдельную коллекцию относительных URL-адресов изображений.
var urls = images.Select(element => element.GetAttribute("src")).Distinct();

// Отфильтровать изображения, отличные от SVG.
var svgUrls = urls.Where(url => url.EndsWith(".svg"));

// Создание абсолютных URL-адресов изображений SVG
var absUrls = svgUrls.Select(src => new Url(src, document.BaseURI));

foreach (var url in absUrls)
{
    // Создайте запрос на извлечение
    using var request = new RequestMessage(url);

    // Извлечь SVG
    using var response = document.Context.Network.Send(request);

    // Проверьте, успешен ли ответ
    if (response.IsSuccess)
    {
        // Сохраните изображение SVG в локальную файловую систему.
        File.WriteAllBytes(Path.Combine(OutputDir, url.Pathname.Split('/').Last()), response.Content.ReadAsByteArray());
    }
}

Получить бесплатную лицензию

Вы можете получить бесплатную временную лицензию, чтобы попробовать Aspose.HTML for .NET без ограничений ознакомительной версии.

Извлечение SVG с веб-сайта — учебные ресурсы

Вы можете узнать больше об извлечении SVG с веб-сайтов и изучить различные другие функции библиотеки, используя ресурсы ниже:

Заключение

В этой статье мы узнали, как извлечь SVG с веб-сайтов на C#. Возможность извлекать SVG-файлы с веб-сайтов или веб-страниц открывает новое измерение цифрового творчества. Будь то архивирование вдохновляющей графики, анализ тенденций дизайна или улучшение собственных проектов, шаги, описанные в этой статье, показывают, насколько этот процесс относительно прост и требует нескольких строк кода. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на нашем форуме бесплатной поддержки.

Смотрите также