Aspose.Words SVG ファイルプロセッサー for .NET
Aspose.Words SVG ファイルプロセッサ for .NET は、プログラミングで構築、変更、保存することを可能にします SVG あなたの .NET アプリケーションからのグラフィック なぜなら Aspose.Words は先住民でないからです 負荷 SVG ドキュメント フォーマットとして、このプラグインは使用されることを目的としています コンバーター プログイン (例えば、DOCX/HTML/PDF → SvG) または、SVG のマークアップを生成するアップストリームの輸入.
インストール&セットアップ
- プロジェクトに Aspose.Words for .NET NuGet パッケージを追加します インストール ガイド.
- アプリのスタートアップで一度に測定されたライセンスを設定します メータードライセンス .
注: このプラグインは、SVGに焦点を当てたAPI表面を提供し、コアのAspose.Words機能を補完するのではなく置き換える.
特徴と能力
SVG ドキュメント作成
- コードに新しい SVG をインスタントする、セット
width
,height
, そしてviewBox
. - 絶対単位(px、mm、in)を選択するか、反応的な出力のために viewBox に依存します.
形と道
- 作成および編集 直 、 サークル 、「エリプス 」、「ライン 」「ポリリン」、そして「ポリーゴン」の要素.
- 完全 path コマンドサポート(M/L/H/V/C/S/Q/T/A/Z) セグメント入力/削除、変換、およびストロッキング/満たすオプション.
テキスト&タイポグラフィー
- 追加
<text>
そして<tspan>
フォントファミリー、サイズ、重さ、ベースライン転換、文字/単語スペース、およびアンカー(スタート/中間/終了)を含むノード). - CSSのようなスタイリングをインラインまたは再利用可能なクラス定義を通じて適用します.
グループ&レイアウト
- コンテンツを組織する
<g>
グループ:グループレベルで変換を適用する(翻訳/スケール/ローテット/スキウ). - ネズミのグループは、層スタイルの階級を鏡にします.
グラディエント、パターン、フィルター
- 線形/放射線グラディエント 、 パターン を定義し、IDで参照してください.
- 高度な視覚効果のために ** フィルター** (ブルー、落下の影、色のマトリックス) を追加します.
イメージ組み込む
- ラスター画像をインストール
<image>
外部のURIまたはBase64データを使用します. - コントロールポジション、サイズ(保存AspectRatio)およびオパシー.
コンバーター統合
- 典型的な流れ: **Import ** (たとえば、DOCX→SVG) → **Refine ** SVGファイルプロセッサ(色を調整し、水分マークを加え、コースを最適化する)→ Save SvG.
- 処理後、ID、クラス、デフを保存または書き直す.
シリアル化&輸出
- コンパクトまたは圧縮されたSVGを保存します.
- オプションでリソース(フォント/画像)を入力するか、それらを外部に保つ.
- 標準に準拠したマークアップが現代のレンダーと互換性があることを保証します.
スピードスタート:SVGドキュメントを作成する
// Pseudocode for the plugin’s SVG API surface
var svg = new SvgDocument(width: 800, height: 400, viewBox: "0 0 800 400");
// Background rectangle
var bg = svg.AddRect(x: 0, y: 0, width: 800, height: 400);
bg.Fill = "#ffffff";
// Title text
var title = svg.AddText("Quarterly Sales", x: 400, y: 40);
title.FontFamily = "Segoe UI";
title.FontSize = 24;
title.TextAnchor = SvgTextAnchor.Middle;
// A sample path (rounded shape)
var path = svg.AddPath("M40,120 C120,20 280,20 360,120 S600,220 720,120");
path.Stroke = "#0066cc";
path.StrokeWidth = 3;
path.Fill = "none";
// Group with transform
var g = svg.AddGroup();
g.Transform = "translate(60, 220) scale(1.2)";
g.AddCircle(cx: 0, cy: 0, r: 8).Fill = "#ff6a00";
g.AddText("Marker", x: 16, y: 4).FontSize = 12;
// Save to file/stream
using var fs = File.Create(@"C:\out\diagram.svg");
svg.Save(fs, prettyPrint: true);
プロセス後、輸入されたSVG(DOCX → SVG → tweak → save)
// Assume 'svgMarkup' comes from a converter plugin (e.g., Document → Save as SVG)
var svg = SvgDocument.LoadFromString(svgMarkup);
// Example: recolor all elements with class="accent"
foreach (var el in svg.Query(".accent"))
el.Fill = "#1abc9c";
// Add a watermark group
var wm = svg.AddGroup();
wm.Opacity = 0.08;
wm.Transform = "rotate(-20 400 200)";
var wText = wm.AddText("CONFIDENTIAL", x: 400, y: 220);
wText.TextAnchor = SvgTextAnchor.Middle;
wText.FontFamily = "Segoe UI";
wText.FontSize = 64;
wText.Fill = "#000000";
svg.Save(@"C:\out\refined.svg");
ヒントと最良の実践
- 反応グラフィックのための相対座標を搭載した viewBox を使用します.
- グループは賢明に :マークアップを簡素化するためにパーエレメントの代わりにグループに変換を適用します.
- defs (グラディエント、パターン、シンボル、フィルター)をトップに置き、IDで参照します.
- 小さなSVGのための大きなビットマップ 外部 を保持し、小さな資産のみを入力します.
- 開発中に優先する pretty-print ; 生産中に minify.
- 中断を避けるために早めに 測定ライセンス を開始します.
エラー処理&認証
- プロセッサは、必要な属性、ID、および参照を確認します.
- 明確な例外は、歪んだ道路、不適切な転換、または欠けている場合
defs
ターゲット. - オプションの「明るい」モードは、非批判的な問題を乗り越え、シリアリズムを継続することができます.
Performance
- 大型ドキュメントのストリームロード/保存.
- グラディエント/フィルターの定義を再利用して、複数のノードを避ける.
- スピード編集のための軽量選択器(ID/クラス/名称)を介してクエリします.