Aspose.Words SVG Dosya İşleyicisi for .NET
Aspose.Words ** .NET için SVG Dosya İşlemcisi** programlı olarak oluşturman, değiştirmen ve kaydetmenizi sağlar SVG NET uygulamalarınızdan grafikler. çünkü Aspose.Words yerli değil yükü SVG bir belge biçimi olarak, bu eklenti kullanılmak üzere tasarlanmıştır konverter eklentileri ile birlikte (örneğin, DOCX/HTML/PDF → SvG) ya da herhangi bir üst akım ithalat SVg işaretleme üretir.
Yükleme ve Setup
- Projenize Aspose.Words for .NET NuGet paketini ekleyin Kurulum Yönlendirici.
- Uygulama başlangıcında bir kez ölçülen lisans ayarlayın Ölçümlü Lisanslama .
Not: Bu eklenti, temel Aspose.Words özelliklerini tamamlayan, değiştirmeyen, SVG odaklı bir API yüzeyi sağlar.
Özellikler ve Yetenekler
SVG Belge Oluşturma
- Yeni bir SVG’yi kodda, ayarlayın
width
,height
, veviewBox
. - Mutlak birimleri (px, mm, in) seçin veya tepki verici çıkış için viewBox’a güvenin.
Şekilleri ve Yolları
- Yaratın ve düzenleyin rect , circle , ellipse ve line elemanları.
- Tam path komut desteği (M/L/H/V/C/S/Q/T/A/Z) segment girme / kaldırma, dönüşüm ve çarpma / doldurma seçenekleri ile.
Etiket & Typografi
- ekleme
<text>
ve<tspan>
yazı tipi, boyutu, ağırlığı, baseline değişimi, harf/söz alanı ve anchors (start/middle/end) ile düğümler). - CSS’ye benzer tasarımları inline veya yeniden kullanılabilir sınıf tanımları aracılığıyla uygulayın.
Toplama & Layering
- içeriği ile düzenle
<g>
gruplar; grup düzeyinde dönüşümler uygulayın (translate/scale/rotate/skew). - Tırnak grupları, katman tarzı hiyerarşileri ayna eder.
Gradientler, Modeller ve Filtreler
- linear/radial gradientleri , patterler tanımlayın ve bunları ID ile ifade edin.
- Gelişmiş görsel efektler için ** filtre** (kırışıklık, düşme gölgesi, renk matris) ekleyin.
görüntü içeriği
- Raster Görüntüleri Gönder
<image>
Dış URI veya Base64 verileri kullanın. - Kontrol yerleştirme, boyutlandırma (AspectRatio koruması ile) ve opacity.
dönüştürücü entegrasyon
- Tipik akış: Import (örneğin, DOCX→SVG) → Refine SVG Dosya İşlemcisi ile (renkleri ayarlayın, su işaretlerini ekleyin, yolları optimize edin) • Save.
- İşleme sonrası ID’leri, sınıfları ve defaları saklayın veya yeniden yazın.
serializasyon ve ihracat
- Kompakt veya oldukça basılı SVG’yi kaydedin.
- Seçmeli olarak kaynakları (kaynaklar / resimler) içerir veya bunları dışarıda tutar.
- Standart uyumlu işaretleme, modern renderler ile uyumludur.
Hızlı Başlangıç: Bir SVG Belge Oluşturma
// 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);
Post-process an Imported 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");
İpuçları ve en iyi uygulamalar
- Relatif grafik koordinatları ile viewBox kullanın.
- Grup akıllıca : işaretlemeyi basitleştirmek için per-element yerine gruplara dönüşümler uygulayın.
- defs (gradients, desenler, semboller, filtreler) yukarıda yerleştirin ve ID ile referans yapın.
- Küçük SVG’ler için büyük bit haritaları dış tutun; yalnızca küçük varlıkları girin.
- Geliştirme sırasında **pretty-print ** tercih eder; minify üretimde.
- Durumları önlemek için ** ölçülen lisanslama** erken başlatın.
Hatalar ve Validasyon
- İşlemci gerekli özellikleri, kimlikleri ve referansları doğrulamaktadır.
- Kötü şekillendirilmiş yollar, geçersiz dönüşümler veya eksiklikler için açık istisnalar
defs
Hedefler için. - Seçmeli “kırışıklık” modu kritik olmayan sorunları aşabilir ve serializasyon devam edebilir.
Performance
- Büyük belgeler için akış yükü / kurtarma.
- Gradient / filtre tanımlarını tekrar kullanın, çift düğümlerden kaçının.
- Hızlı düzenlemeler için hafif ağırlık seçicileri (ID / sınıf / isim) aracılığıyla sorgulayın.