Aspose.Words SVG File Processor для .NET
Aspose.Words SVG File Processor для .NET дозволяє програматично створювати, модифікувати і зберігати СВГ графіки з ваших .NET додатків. тому що Aspose.Words не родом Навантаження SVG як формат документа, цей плагін має бути використаний ** спільно з конвертерними плагінами** (наприклад, DOCX/HTML/PDF→SVG) або будь-яким ввезенням, що виробляє маркировку СВГ.
Інсталяція та установка
- Додайте до вашого проекту пакет Aspose.Words для .NET NuGet Встановлення Управління.
- Налаштуйте розмірну ліцензію один раз при запуску додатку Ліцензування за використанням .
Примітка: Цей плагін забезпечує поверхню API, зосереджену на SVG, яка доповнює, а не заміняє основні функції Aspose.Words.
Особливості та можливості
Створення SVG Document
- Налаштування нового SVG в коді, встановлення
width
,height
, іviewBox
. - Виберіть абсолютні одиниці (px, mm, in) або покладайтеся на viewBox для відповідного виходу.
Форми і шляхи
- Створіть і редагуйте елементи ректи , циркуля , еліпс і лінія та полігін.
- Повна Path командна підтримка (M/L/H/V/C/S/Q/T/A/Z) з опціями сегменту введення/виведення, трансформації та стримування/повнення.
ТОВАРИСТВО З ОБМЕЖЕНОЮ ВІДПОВІДАЛЬНІСТЮ
- Додати
<text>
і<tspan>
вузли з сімейством шрифтів, розміром, вагою, переміщенням базової лінії, буквою / словом і анкетами (початок / середина / кінець). - Використовуйте CSS-подібний стилінг в лінії або за допомогою повторних класових визначень.
Створення & Layering
- Організуйте контент з
<g>
Групи; застосовувати трансформації на рівні групи (переклад / масштаб / ротація / скеу). - Групи нігтів до дзеркала шарових ієрархій.
Фільтри, шаблони і фільтри
- Визначте **лінійні/радиальні градіанти ** , патрини і вкажіть їх за ідентифікатором.
- Додайте фільтри (блур, відтінки, матриці кольорів) для передових візуальних ефектів.
Зображення вбудовано
- Введіть растер зображення через
<image>
Використання зовнішніх УРІ або даних Base64. - Контрольне розташування, розмір (з збереженнямAspectRatio) і непрямість.
Інтеграція конвертера
- Типовий потік: Import (наприклад, DOCX→SVG) → Refine з процесором файлів SVG (пристосувати кольори, додавати водяні знаки, оптимізувати шляхи.
- Зберегти або переписати ідентифікатори, класи та дефи під час післяобробки.
Серіалізація та експорт
- Зберегти компактний або досить друкований 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 з відносними координатами для реактивної графіки.
- Group wisely : застосовувати трансформації до груп замість per-element для спрощення маркування.
- Введіть defs (градіанти, шаблони, символи, фільтри) в верхній частині і вкажіть ID.
- Зберігайте великі бітмапи ** зовнішні** для менших SVG; введіть тільки невеликі активи.
- Краще **pretty-print ** під час розробки; minify в виробництві.
- Ініціалізуйте мірну ліцензію заздалегідь, щоб уникнути перерв.
Використання помилок та валідація
- Процесор підтверджує необхідні атрибути, ідентифікатори та посилання.
- Яскраві винятки для порушених шляхів, недійсних трансформацій або відсутніх
defs
цілі. - Факультативний «лінійний» режим може подолати некритичні проблеми і продовжувати серіалізацію.
Performance
- Завантажити / зберегти для великих документів.
- Повторне використання градієнт/фільтр визначення, щоб уникнути подвійних вузлів.
- Пошук за допомогою легких селекторів (за ідентифікатором / класом / прізвищем) для швидких редагувань.