האם אי פעם היית במצב שבו רצית לשמור או להוריד תמונות SVG מדף אינטרנט או מכתובת אתר חיה? גרפיקה וקטורית מדרגית (SVG) היא פורמט תמונה פופולרי המשמש בדפי אינטרנט. תמונות SVG מבוססות וקטור, מה שאומר שהן מורכבות מאובייקטים מתמטיים הניתנים לשינוי קנה מידה לכל גודל מבלי לאבד איכות. זה הופך אותם לפורמט רב תכליתי ויעיל לאחסון והצגת תמונות. בפוסט זה בבלוג, נדון כיצד לחלץ SVG מאתר ב-C#.
מאמר זה עוסק בנושאים הבאים:
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");
// צור אוסף מובחן של כתובות אתרים של תמונות יחסיות
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 עבור .NET ללא מגבלות הערכה.
חלץ SVG מאתר - משאבי למידה
אתה יכול ללמוד עוד על חילוץ SVG מאתרים ולחקור תכונות שונות אחרות של הספרייה באמצעות המשאבים שלהלן:
סיכום
במאמר זה למדנו כיצד לחלץ SVG מאתרים ב-C#. היכולת לחלץ SVG מאתרים או דפי אינטרנט מביאה מימד חדש ליצירתיות דיגיטלית. בין אם מדובר בארכיון גרפיקה מעוררת השראה, ניתוח מגמות עיצוביות או שיפור הפרויקטים שלכם, השלבים המתוארים במאמר זה מראים כיצד התהליך פשוט יחסית ודורש כמה שורות קוד. בכל מקרה של אי בהירות, אנא אל תהסס לפנות אלינו בפורום התמיכה החינמי שלנו.