Были ли вы когда-нибудь в ситуации, когда вам хотелось сохранить или загрузить изображения SVG с веб-страницы или с действующего URL-адреса? Масштабируемая векторная графика (SVG) — популярный формат изображений, используемый на веб-страницах. Изображения SVG являются векторными, что означает, что они состоят из математических объектов, которые можно масштабировать до любого размера без потери качества. Это делает их универсальным и эффективным форматом для хранения и отображения изображений. В этом сообщении блога мы обсудим, как извлечь SVG с веб-сайта на C#.
В этой статье рассматриваются следующие темы:
- C# API для извлечения SVG с веб-сайта
- Извлечь SVG с веб-сайта
- Загрузить внешние изображения SVG с веб-сайта
- Бесплатные учебные ресурсы
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>
, выполнив следующие действия:
- Загрузите веб-страницу с помощью класса HTMLDocument.
- Прочтите все встроенные изображения SVG с помощью метода GetElementsByTagName().
- Наконец, просмотрите все изображения и сохраните их в локальной файловой системе.
В следующем примере кода показано, как извлечь 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, которые хранятся вне HTML-документа и загружены в него, выполнив следующие действия:
- Загрузите веб-страницу с помощью класса HTMLDocument.
- Прочтите все встроенные изображения SVG с помощью метода GetElementsByTagName().
- Наконец, просмотрите все изображения и сохраните их в локальной файловой системе.
В следующем примере кода показано, как извлечь внешний внедренный 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 с веб-сайтов и изучить различные другие функции библиотеки, используя ресурсы ниже:
- Руководство разработчика
- Бесплатные онлайн-приложения
- Справочник по API
- Практические руководства и статьи
Заключение
В этой статье мы узнали, как извлечь SVG с веб-сайтов на C#. Возможность извлекать SVG-файлы с веб-сайтов или веб-страниц открывает новое измерение цифрового творчества. Будь то архивирование вдохновляющей графики, анализ тенденций дизайна или улучшение собственных проектов, шаги, описанные в этой статье, показывают, насколько этот процесс относительно прост и требует нескольких строк кода. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на нашем форуме бесплатной поддержки.