Aspose.Words SVG 파일 프로세서 .NET용
Aspose.Words SVG 파일 프로세서 for .NET는 소프트웨어를 구축, 수정 및 저장할 수 있습니다 스위스 당신의 .NET 응용 프로그램에서 그래픽. 왜냐하면 Aspose.Words는 원주민이 아니기 때문에 로드 SVG는 문서 형식으로, 이 플러그인은 사용하도록 설계되었습니다 converter plugins와 함께 (예 : DOCX/HTML/PDF→SVG) 또는 스위그 마크를 생성하는 어떠한 upstream 수입.
설치 및 설정
참고: 이 플러그인은 핵심 Aspose.Words 기능을 보완하고 대체하지 않는 SVG 중심 API 표면을 제공합니다.
특성 및 능력
SVG 문서 만들기
- 코드에 새로운 SVG를 설치, 설정
width
,height
, 그리고, 그리고viewBox
. - 절대 단위 (px, mm, in)를 선택하거나 응답 출력을 위해 viewBox에 의존하십시오.
모양 & 경로
- 창조 및 편집 rect , circle , ellipse ., line 및 polyline 요소.
- 완전한 path 명령 지원 (M/L/H/V/C/S/Q/T/A/Z) 세그먼트 삽입/제거, 변환 및 충전/충전 옵션.
텍스트 & 타이포그래피
- 추가하기
<text>
그리고<tspan>
글꼴 가족, 크기, 무게, 기본 라인 변환, 글자 / 단어 공간 및 앵커 (start / middle / end)를 가진 노드). - CSS 유사한 스타일링 인라인 또는 재사용 가능한 클래스 정의를 통해 적용합니다.
그룹화 & 레이어링
- 컨텐츠를 구성하여
<g>
그룹에 변환을 적용하십시오 (역사 / 규모 / 회전 / 스케우). - 둥지 그룹은 레이어 스타일의 계층을 거울합니다.
졸업장, 패턴, 필터
- linear/radial gradients , patterns 를 정의하고 ID로 참조하십시오.
- 고급 시각 효과를 위해 ** 필터** (블루, 떨어지는 그림자, 색상 매트릭스)를 적용합니다.
이미지 삽입
- RASTER 이미지를 입력하여
<image>
외부 URI 또는 Base64 데이터를 사용합니다. - 컨트롤 배치, 크기 (보존AspectRatio와 함께) 및 오파시티.
컨버터 통합
- 일반적인 흐름: Import (예 : DOCX→SVG) → Refine SVG 파일 프로세서 (색상 조정, 물 표지판 추가, 경로를 최적화) ← Save.
- 처리 후 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);
포스트 프로세스 (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를 사용하여 응답 그래픽에 대한 상대적 조율을 제공합니다.
- 그룹은 현명하게 : 마크업을 단순화하기 위해 per-element 대신 그룹에 변환을 적용합니다.
- defs (그라디언트, 패턴, 상징, 필터)를 상단에 넣고 ID로 참조하십시오.
- 작은 SVG에 대 한 큰 비트 맵 ** 외부** 유지; 단지 작은 자산을 입력.
- 개발 중에 pretty-print 를 선호합니다; 생산 중에는 minify.
- 중단을 피하기 위해 측정 된 라이센스를 일찍 시작하십시오.
오류 처리 및 검증
- 프로세서는 필요한 속성, ID 및 참조를 확인합니다.
- 잘못된 경로, 불가능한 변환 또는 실종에 대한 명확한 예외
defs
목표는. - 선택적 인 “빛나는"모드는 비판적인 문제를 극복하고 시리즈를 계속 할 수 있습니다.
Performance
- 큰 문서에 대한 스트리밍로드 / 저장.
- Gradient/filter 정의를 다시 사용하여 복제 노드를 피하십시오.
- 빠른 편집을 위해 가벼운 무게 선택기를 통해 (ID/클래스/이름에 따라) 검색합니다.