Wyodrębnij SVG ze strony internetowej w C#

Czy kiedykolwiek byłeś w sytuacji, w której chciałeś zapisać lub pobrać obrazy SVG ze strony internetowej lub z aktywnego adresu URL? Skalowalna grafika wektorowa (SVG) to popularny format obrazu używany na stronach internetowych. Obrazy SVG są obrazami wektorowymi, co oznacza, że składają się z obiektów matematycznych, które można skalować do dowolnego rozmiaru bez utraty jakości. Dzięki temu są uniwersalnym i wydajnym formatem do przechowywania i wyświetlania obrazów. W tym poście na blogu omówimy, jak wyodrębnić SVG ze strony internetowej w języku C#.

W tym artykule poruszono następujące tematy:

  1. C# API do wyodrębnienia SVG ze strony internetowej
  2. Wyodrębnij plik SVG ze strony internetowej
  3. Pobierz zewnętrzne obrazy SVG ze strony internetowej
  4. Darmowe zasoby edukacyjne

API C# do wyodrębniania SVG ze strony internetowej

Będziemy używać Aspose.HTML for .NET do wyodrębniania SVG ze stron internetowych. Umożliwia programistom manipulowanie i przetwarzanie dokumentów HTML. Można go używać do automatyzacji manipulacji, konwersji lub analizy dokumentów HTML w aplikacji .NET. Programiści mogą zaoszczędzić czas i wysiłek, wdrażając gotowe do użycia rozwiązanie do programowej obsługi zadań związanych z HTML. Umożliwia także konwersję stron internetowych i dokumentów HTML do obsługiwanych formatów bez zewnętrznego oprogramowania.

Proszę pobierz bibliotekę DLL interfejsu API lub zainstaluj ją za pomocą NuGet.

PM> Install-Package Aspose.Html

Wyodrębnij SVG ze strony internetowej w C#

Możemy wyodrębnić wszystkie obrazy SVG osadzone za pomocą rozszerzenia <svg> , wykonując poniższe czynności:

  1. Załaduj stronę internetową przy użyciu klasy HTMLDocument.
  2. Odczytaj wszystkie wbudowane obrazy SVG za pomocą metody GetElementsByTagName().
  3. Na koniec przejrzyj wszystkie obrazy i zapisz w lokalnym systemie plików.

Poniższy przykładowy kod pokazuje, jak wyodrębnić SVG ze strony internetowej w języku C#.

// Poniższy przykładowy kod demonstruje, jak wyodrębnić SVG z witryny internetowej w języku C#.
using Aspose.Html;

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

// Otwórz dokument, z którego chcesz wyodrębnić wbudowane obrazy SVG
using var document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");

// Zbierz wszystkie wbudowane obrazy SVG
var images = document.GetElementsByTagName("svg");

for (var i = 0; i < images.Length; i++)
{
    // Zapisz każdy obraz SVG w lokalnym systemie plików
    File.WriteAllText(Path.Combine(OutputDir, $"{i}.svg"), images[i].OuterHTML);
}
Wyodrębnij SVG ze strony internetowej w C#

Wyodrębnij SVG ze strony internetowej w C#

Pobierz zewnętrzne obrazy SVG ze strony internetowej w języku C#

Możemy wyodrębnić wszystkie obrazy SVG przechowywane poza dokumentem HTML i załadowane do dokumentu, wykonując poniższe kroki:

  1. Załaduj stronę internetową przy użyciu klasy HTMLDocument.
  2. Odczytaj wszystkie wbudowane obrazy SVG za pomocą metody GetElementsByTagName().
  3. Na koniec przejrzyj wszystkie obrazy i zapisz w lokalnym systemie plików.

Poniższy przykładowy kod pokazuje, jak wyodrębnić zewnętrznie osadzony plik SVG z witryny internetowej w języku C#.

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

// Katalog plików
string OutputDir = "C:\\Files\\";

// Otwórz dokument, z którego chcesz wyodrębnić zewnętrzne pliki SVG
using var document = new HTMLDocument("https://docs.aspose.com/svg/net/drawing-basics/svg-shapes/");

// Zbierz wszystkie elementy obrazu
var images = document.GetElementsByTagName("img");

// Utwórz odrębną kolekcję względnych adresów URL obrazów
var urls = images.Select(element => element.GetAttribute("src")).Distinct();

// Odfiltruj obrazy inne niż SVG
var svgUrls = urls.Where(url => url.EndsWith(".svg"));

// Utwórz bezwzględne adresy URL obrazów SVG
var absUrls = svgUrls.Select(src => new Url(src, document.BaseURI));

foreach (var url in absUrls)
{
    // Utwórz żądanie wyodrębnienia
    using var request = new RequestMessage(url);

    // Wyodrębnij plik SVG
    using var response = document.Context.Network.Send(request);

    // Sprawdź, czy odpowiedź się powiodła
    if (response.IsSuccess)
    {
        // Zapisz obraz SVG w lokalnym systemie plików
        File.WriteAllBytes(Path.Combine(OutputDir, url.Pathname.Split('/').Last()), response.Content.ReadAsByteArray());
    }
}

Uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną licencję tymczasową, aby wypróbować Aspose.HTML for .NET bez ograniczeń ewaluacyjnych.

Wyodrębnij plik SVG ze strony internetowej — zasoby edukacyjne

Możesz dowiedzieć się więcej na temat wyodrębniania SVG ze stron internetowych i poznać różne inne funkcje biblioteki, korzystając z poniższych zasobów:

Wniosek

W tym artykule dowiedzieliśmy się, jak wyodrębnić SVG ze stron internetowych w języku C#. Możliwość wyodrębniania plików SVG ze stron internetowych lub stron internetowych nadaje nowy wymiar cyfrowej kreatywności. Niezależnie od tego, czy chodzi o archiwizację inspirującej grafiki, analizę trendów projektowych, czy udoskonalanie własnych projektów, kroki opisane w tym artykule pokazują, że proces jest stosunkowo prosty i wymaga kilku linijek kodu. W przypadku jakichkolwiek niejasności prosimy o kontakt na naszym bezpłatnym forum pomocy technicznej.

Zobacz też