Чи були у вас ситуації, коли ви хотіли зберегти або завантажити SVG зображення з веб-сторінки чи з активної URL-адреси? Масштабована векторна графіка (SVG) — популярний формат зображень, який використовується на веб-сторінках. Зображення SVG є векторними, що означає, що вони складаються з математичних об’єктів, які можна масштабувати до будь-якого розміру без втрати якості. Це робить їх універсальним і ефективним форматом для зберігання та відображення зображень. У цій публікації блогу ми обговоримо, як отримати SVG із веб-сайту на C#.
Ця стаття охоплює такі теми:
- API C# для вилучення 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 із веб-сайтів і дослідити різні інші функції бібліотеки, використовуючи ресурси нижче:
Висновок
У цій статті ми дізналися, як видобувати SVG із веб-сайтів на C#. Можливість отримувати SVG із веб-сайтів або веб-сторінок відкриває новий вимір для цифрової творчості. Незалежно від того, чи це для архівування надихаючої графіки, аналізу тенденцій дизайну чи покращення ваших власних проектів, кроки, описані в цій статті, показують, наскільки цей процес є відносно простим і вимагає кількох рядків коду. У разі будь-яких неясностей зв’яжіться з нами на нашому безкоштовному форумі підтримки.