Видобути SVG із веб-сайту на C#

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

Ця стаття охоплює такі теми:

  1. API C# для вилучення 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 із веб-сайтів або веб-сторінок відкриває новий вимір для цифрової творчості. Незалежно від того, чи це для архівування надихаючої графіки, аналізу тенденцій дизайну чи покращення ваших власних проектів, кроки, описані в цій статті, показують, наскільки цей процес є відносно простим і вимагає кількох рядків коду. У разі будь-яких неясностей зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Дивись також