استخراج SVG از وب سایت در سی شارپ

آیا تا به حال در موقعیتی بوده اید که بخواهید تصاویر SVG را از یک صفحه وب یا از یک URL زنده ذخیره یا دانلود کنید؟ گرافیک برداری مقیاس پذیر (SVG) یک فرمت تصویری محبوب است که در صفحات وب استفاده می شود. تصاویر SVG مبتنی بر برداری هستند، به این معنی که آنها از اشیاء ریاضی تشکیل شده‌اند که می‌توانند در هر اندازه‌ای بدون از دست دادن کیفیت، مقیاس شوند. این باعث می شود آنها یک فرمت همه کاره و کارآمد برای ذخیره و نمایش تصاویر باشند. در این پست وبلاگ، نحوه استخراج SVG از یک وب سایت در سی شارپ را مورد بحث قرار خواهیم داد.

این مقاله موضوعات زیر را پوشش می دهد:

  1. C# API برای استخراج SVG از وب سایت
  2. استخراج SVG از وب سایت
  3. دانلود تصاویر SVG خارجی از وب سایت
  4. منابع آموزشی رایگان

C# API برای استخراج SVG از وب سایت

ما از Aspose.HTML for .NET برای استخراج SVG از وب سایت ها استفاده خواهیم کرد. این به توسعه دهندگان اجازه می دهد تا اسناد HTML را دستکاری و پردازش کنند. می توان از آن برای خودکارسازی دستکاری، تبدیل یا تجزیه و تحلیل اسناد HTML در یک برنامه دات نت استفاده کرد. توسعه دهندگان می توانند با پیاده سازی یک راه حل آماده برای مدیریت کارهای مرتبط با HTML به صورت برنامه ای در زمان و تلاش صرفه جویی کنند. همچنین امکان تبدیل صفحات وب و اسناد HTML به [فرمت های پشتیبانی شده] را بدون نرم افزار خارجی فراهم می کند.

لطفاً یا DLL API را دانلود کنید یا آن را با استفاده از NuGet نصب کنید.

PM> Install-Package Aspose.Html

استخراج SVG از وب سایت در سی شارپ

ما می توانیم تمام تصاویر SVG را که با استفاده از تعبیه شده اند استخراج کنیم<svg> عنصر با دنبال کردن مراحل زیر:

  1. یک صفحه وب را با استفاده از کلاس HTMLDocument بارگیری کنید.
  2. تمام تصاویر SVG درون خطی را با استفاده از متد GetElementsByTagName() بخوانید.
  3. در نهایت، تمام تصاویر را حلقه بزنید و در یک سیستم فایل محلی ذخیره کنید.

نمونه کد زیر نحوه استخراج SVG از یک وب سایت در سی شارپ را نشان می دهد.

// نمونه کد زیر نحوه استخراج SVG از یک وب سایت در سی شارپ را نشان می دهد.
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 از وب سایت در سی شارپ

استخراج SVG از وب سایت در سی شارپ

دانلود تصاویر SVG خارجی از وب سایت در سی شارپ

با دنبال کردن مراحل زیر می‌توانیم تمام تصاویر SVG را که خارج از یک سند HTML ذخیره شده و در سند بارگذاری می‌شوند استخراج کنیم:

  1. یک صفحه وب را با استفاده از کلاس HTMLDocument بارگیری کنید.
  2. تمام تصاویر SVG درون خطی را با استفاده از متد GetElementsByTagName() بخوانید.
  3. در نهایت، تمام تصاویر را حلقه بزنید و در یک سیستم فایل محلی ذخیره کنید.

نمونه کد زیر نحوه استخراج SVG تعبیه شده خارجی از یک وب سایت در سی شارپ را نشان می دهد.

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 برای دات نت بدون محدودیت ارزیابی، می توانید یک مجوز موقت رایگان دریافت کنید.

استخراج SVG از وب سایت – منابع یادگیری

می‌توانید درباره استخراج SVG از وب‌سایت‌ها اطلاعات بیشتری کسب کنید و با استفاده از منابع زیر، ویژگی‌های مختلف کتابخانه را بررسی کنید:

نتیجه

در این مقاله با نحوه استخراج SVG از وب سایت ها در سی شارپ آشنا شدیم. توانایی استخراج SVG از وب سایت ها یا صفحات وب، بعد جدیدی به خلاقیت دیجیتال می بخشد. خواه برای آرشیو کردن گرافیک های الهام بخش، تجزیه و تحلیل روندهای طراحی، یا بهبود پروژه های خود باشد، مراحل ذکر شده در این مقاله نشان می دهد که چگونه این فرآیند نسبتا ساده است و به چند خط کد نیاز دارد. در صورت وجود هرگونه ابهام، لطفاً با ما در تالار گفتمان پشتیبانی رایگان تماس بگیرید.

همچنین ببینید