แยก SVG จากเว็บไซต์ใน C#

คุณเคยอยู่ในสถานการณ์ที่คุณต้องการบันทึกหรือดาวน์โหลดรูปภาพ SVG จากหน้าเว็บหรือจาก URL ที่เผยแพร่อยู่หรือไม่? Scalable Vector Graphics (SVG) เป็นรูปแบบภาพยอดนิยมที่ใช้บนหน้าเว็บ รูปภาพ SVG เป็นแบบเวกเตอร์ ซึ่งหมายความว่ารูปภาพเหล่านั้นประกอบด้วยวัตถุทางคณิตศาสตร์ที่สามารถปรับขนาดได้ทุกขนาดโดยไม่สูญเสียคุณภาพ ทำให้เป็นรูปแบบการจัดเก็บและแสดงภาพที่หลากหลายและมีประสิทธิภาพ ในบล็อกโพสต์นี้ เราจะพูดถึงวิธีแยก SVG จากเว็บไซต์ใน C#

บทความนี้ครอบคลุมหัวข้อต่อไปนี้:

  1. C# API เพื่อแยก 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 จากเว็บไซต์หรือหน้าเว็บจะนำมิติใหม่มาสู่ความคิดสร้างสรรค์ดิจิทัล ไม่ว่าจะเป็นการเก็บถาวรกราฟิกที่สร้างแรงบันดาลใจ การวิเคราะห์แนวโน้มการออกแบบ หรือการปรับปรุงโครงการของคุณเอง ขั้นตอนที่สรุปไว้ในบทความนี้แสดงให้เห็นว่ากระบวนการนี้ค่อนข้างง่ายและต้องใช้โค้ดเพียงไม่กี่บรรทัด ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรัมการสนับสนุนฟรี

ดูสิ่งนี้ด้วย