Aspose.Words SVG 파일 프로세서 .NET용

Aspose.Words SVG 파일 프로세서 for .NET는 소프트웨어를 구축, 수정 및 저장할 수 있습니다 스위스 당신의 .NET 응용 프로그램에서 그래픽. 왜냐하면 Aspose.Words는 원주민이 아니기 때문에 로드 SVG는 문서 형식으로, 이 플러그인은 사용하도록 설계되었습니다 converter plugins와 함께 (예 : DOCX/HTML/PDF→SVG) 또는 스위그 마크를 생성하는 어떠한 upstream 수입.

설치 및 설정

  • 프로젝트에 Aspose.Words for .NET NuGet 패키지를 추가합니다 설치 가이드.
  • 애플 스타트업에서 한 번 측정된 라이센스를 설정합니다 계량된 라이선스 .

참고: 이 플러그인은 핵심 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/클래스/이름에 따라) 검색합니다.
 한국어