Web ページまたはライブ URL から SVG 画像を保存またはダウンロードしたいという状況に陥ったことはありますか?スケーラブル ベクター グラフィックス (SVG) は、Web ページで使用される一般的な画像形式です。 SVG 画像はベクトルベースです。つまり、品質を損なうことなく任意のサイズに拡大縮小できる数学的オブジェクトで構成されています。これにより、画像を保存および表示するための多用途かつ効率的な形式になります。このブログ投稿では、C# で Web サイトから SVG を抽出する方法について説明します。
この記事では次のトピックについて説明します。
Web サイトから SVG を抽出するための C# API
Web サイトから SVG を抽出するには、Aspose.HTML for .NET を使用します。これにより、開発者は HTML ドキュメントを操作および処理できます。これを使用すると、.NET アプリケーション内での HTML ドキュメントの操作、変換、または分析を自動化できます。開発者は、HTML 関連のタスクをプログラムで処理するためのすぐに使えるソリューションを実装することで、時間と労力を節約できます。また、外部ソフトウェアを使用せずに、HTML Web ページとドキュメントを サポートされている形式 に変換することもできます。
API の DLL をダウンロードするか、NuGetを使用してインストールしてください。
PM> Install-Package Aspose.Html
C# で Web サイトから SVG を抽出する
を使用して、埋め込まれているすべての SVG 画像を抽出できます。<svg>以下の手順に従って
要素を追加します。
- HTMLDocument クラスを使用して Web ページを読み込みます。
- GetElementsByTagName() メソッドを使用して、すべてのインライン SVG イメージを読み取ります。
- 最後に、すべてのイメージをループしてローカル ファイル システムに保存します。
次のコード サンプルは、C# で Web サイトから SVG を抽出する方法を示しています。
// 次のコード サンプルは、C# で Web サイトから 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);
}
C# で Web サイトから外部 SVG 画像をダウンロードする
以下の手順に従って、HTML ドキュメントの外部に保存されているすべての SVG 画像を抽出し、ドキュメントにロードできます。
- HTMLDocument クラスを使用して Web ページを読み込みます。
- GetElementsByTagName() メソッドを使用して、すべてのインライン SVG イメージを読み取ります。
- 最後に、すべてのイメージをループしてローカル ファイル システムに保存します。
次のコード サンプルは、C# で Web サイトから外部に埋め込まれた 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"));
// SVG画像の絶対URLを作成する
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 を試すことができます。
Web サイトから SVG を抽出 – 学習リソース
以下のリソースを使用して、Web サイトから SVG を抽出する方法の詳細を学び、ライブラリの他のさまざまな機能を探索することができます。
結論
この記事では、C# で Web サイトから SVG を抽出する方法を学びました。 Web サイトまたは Web ページから SVG を抽出できる機能は、デジタル クリエイティビティに新たな次元をもたらします。インスピレーションを与えるグラフィックのアーカイブ、デザイン傾向の分析、または独自のプロジェクトの強化のいずれであっても、この記事で概説されている手順は、プロセスが比較的単純で、数行のコードが必要であることを示しています。不明な点がある場合は、無料サポート フォーラムまでお気軽にお問い合わせください。