C#에서 PDF를 SVG로 변환하는 방법
IronPDF의 PdfToSvg 네임스페이스는 PDF 페이지를 SVG(Scalable Vector Graphics)로 변환하는 전용 API를 제공합니다. SVG(Scalable Vector Graphics)는 XML 기반 포맷으로, 어떤 확대 수준에서도 선명함을 유지합니다. 래스터 이미지(PNG, JPEG)와 달리 SVG 출력은 확대해도 픽셀화되지 않습니다. PDF 페이지를 SVG로 변환하면 문서 내용을 웹 페이지에 삽입하거나, 해상도에 독립적인 미리보기를 생성하거나, 보고서, 인보이스, 기술 도면에서 벡터 그래픽을 추출할 때 유용합니다.
변환은 페이지 단위로 동작합니다. PdfDocument.Open()으로 PDF를 열고, Pages 컬렉션을 통해 개별 페이지에 접근한 뒤, 각 PdfPage에서 SaveAsSvg() 또는 ToSvgString()을 호출하여 SVG 출력을 생성합니다. 모든 변환 메서드에는 비동기(async) 버전도 제공됩니다.
이것은 PDF에서 SVG로 추출하는 방향입니다. (기존 PDF 파일에서 벡터 SVG를 추출) 반대 워크플로우(SVG 그래픽을 새 PDF에 삽입)는 SVG를 PDF로 변환하는 방법을 참고하세요.
무료 30일 평가판 시작하기로 PDF-SVG 변환을 테스트해보세요.
아래 예제는 PDF를 열고 첫 번째 페이지를 SVG 파일로 저장합니다.
-
1Install IronPDF with NuGet Package Manager
-
2다음 코드 조각을 복사하여 실행하세요.
using PdfToSvg; using var pdf = PdfDocument.Open("report.pdf"); pdf.Pages[0].SaveAsSvg("page-one.svg");Imports PdfToSvg Using pdf = PdfDocument.Open("report.pdf") pdf.Pages(0).SaveAsSvg("page-one.svg") End UsingImports PdfToSvg Using pdf = PdfDocument.Open("report.pdf") pdf.Pages(0).SaveAsSvg("page-one.svg") End Using -
3실제 운영 환경에서 테스트할 수 있도록 배포하세요.
무료 체험판으로 오늘 프로젝트에서 IronPDF 사용 시작하기
최소 워크플로우 (3단계)
- NuGet을 통해 IronPDF 설치:
Install-Package IronPdf PdfToSvg네임스페이스의PdfDocument.Open()으로 PDF 열기- 원하는 페이지에서
SaveAsSvg()를 호출하여 SVG 파일로 저장
단일 PDF 페이지를 SVG로 변환하는 방법은?
PdfPage 클래스는 네 가지 변환 메서드를 제공합니다:
SaveAsSvg(): 페이지를 파일 경로나Stream에 저장합니다.SaveAsSvgAsync():SaveAsSvg()의 비동기 버전입니다.ToSvgString(): SVG 마크업을string으로 반환합니다. 템플릿 엔진, HTTP 응답, 파이프라인 등에서 출력이 바로 사용될 때 유용합니다.ToSvgStringAsync():ToSvgString()의 비동기 버전입니다.
네 가지 모두 선택적으로 SvgConversionOptions 인수와 CancellationToken을 받을 수 있습니다.
아래 예제는 첫 페이지를 파일로 저장하고, 같은 페이지를 문자열로 받아 스트림에 쓰는 등 세 가지 출력 방식을 모두 보여줍니다.
using PdfToSvg;
using PdfDocument = PdfToSvg.PdfDocument;
using var pdf = PdfDocument.Open("invoice.pdf");
// Save to a file
pdf.Pages[0].SaveAsSvg("invoice-page1.svg");
// Get SVG as a string
string svgMarkup = pdf.Pages[0].ToSvgString();
Console.WriteLine($"SVG length: {svgMarkup.Length} characters");
// Save to a stream
using var stream = new FileStream("invoice-page1-stream.svg", FileMode.Create);
pdf.Pages[0].SaveAsSvg(stream);using PdfToSvg;
using PdfDocument = PdfToSvg.PdfDocument;
using var pdf = PdfDocument.Open("invoice.pdf");
// Save to a file
pdf.Pages[0].SaveAsSvg("invoice-page1.svg");
// Get SVG as a string
string svgMarkup = pdf.Pages[0].ToSvgString();
Console.WriteLine($"SVG length: {svgMarkup.Length} characters");
// Save to a stream
using var stream = new FileStream("invoice-page1-stream.svg", FileMode.Create);
pdf.Pages[0].SaveAsSvg(stream);Imports PdfToSvg
Imports PdfDocument = PdfToSvg.PdfDocument
Using pdf = PdfDocument.Open("invoice.pdf")
' Save to a file
pdf.Pages(0).SaveAsSvg("invoice-page1.svg")
' Get SVG as a string
Dim svgMarkup As String = pdf.Pages(0).ToSvgString()
Console.WriteLine($"SVG length: {svgMarkup.Length} characters")
' Save to a stream
Using stream As New FileStream("invoice-page1-stream.svg", FileMode.Create)
pdf.Pages(0).SaveAsSvg(stream)
End Using
End UsingImports PdfToSvg
Imports PdfDocument = PdfToSvg.PdfDocument
Using pdf = PdfDocument.Open("invoice.pdf")
' Save to a file
pdf.Pages(0).SaveAsSvg("invoice-page1.svg")
' Get SVG as a string
Dim svgMarkup As String = pdf.Pages(0).ToSvgString()
Console.WriteLine($"SVG length: {svgMarkup.Length} characters")
' Save to a stream
Using stream As New FileStream("invoice-page1-stream.svg", FileMode.Create)
pdf.Pages(0).SaveAsSvg(stream)
End Using
End UsingPdfDocument는 IDisposable을 구현하므로, 변환이 끝난 후 네이티브 리소스를 해제하려면 using 문으로 감싸는 것이 좋습니다. Pages 컬렉션은 0부터 시작하므로 Pages[0]이 첫 번째 페이지입니다.
PdfToSvg.PdfDocument는 IronPdf.PdfDocument와는 별개의 클래스입니다. using PdfToSvg; 지시문으로 범위에 포함시킬 수 있습니다.언제 PDF를 SVG로 변환하는 것이 적합한가요?
SVG는 페이지를 확대하거나, 웹 레이아웃에 삽입하거나, 변환 후 스타일을 다시 적용해야 할 때 더 나은 출력입니다. 텍스트는 선택 및 검색이 가능하고, 경로는 벡터 툴에서 편집할 수 있습니다. 스캔본이나 사진 기반 페이지처럼 벡터 콘텐츠가 없는 경우에는 래스터 이미지로 내보내는 것이 용량도 작고 손실도 없습니다.
PDF의 모든 페이지를 SVG로 변환하는 방법은?
Pages 컬렉션은 0부터 시작하므로, 루프 인덱스에 1을 더하면 사람이 읽기 쉬운 페이지 번호가 됩니다.
using PdfToSvg;
using PdfDocument = PdfToSvg.PdfDocument;
using var pdf = PdfDocument.Open("multi-page-report.pdf");
Console.WriteLine($"Total pages: {pdf.Pages.Count}");
for (int i = 0; i < pdf.Pages.Count; i++)
{
var page = pdf.Pages[i];
string outputPath = $"page_{i + 1}.svg";
page.SaveAsSvg(outputPath);
Console.WriteLine($"Saved: {outputPath}");
}using PdfToSvg;
using PdfDocument = PdfToSvg.PdfDocument;
using var pdf = PdfDocument.Open("multi-page-report.pdf");
Console.WriteLine($"Total pages: {pdf.Pages.Count}");
for (int i = 0; i < pdf.Pages.Count; i++)
{
var page = pdf.Pages[i];
string outputPath = $"page_{i + 1}.svg";
page.SaveAsSvg(outputPath);
Console.WriteLine($"Saved: {outputPath}");
}Imports PdfToSvg
Imports PdfDocument = PdfToSvg.PdfDocument
Using pdf = PdfDocument.Open("multi-page-report.pdf")
Console.WriteLine($"Total pages: {pdf.Pages.Count}")
For i As Integer = 0 To pdf.Pages.Count - 1
Dim page = pdf.Pages(i)
Dim outputPath As String = $"page_{i + 1}.svg"
page.SaveAsSvg(outputPath)
Console.WriteLine($"Saved: {outputPath}")
Next
End UsingImports PdfToSvg
Imports PdfDocument = PdfToSvg.PdfDocument
Using pdf = PdfDocument.Open("multi-page-report.pdf")
Console.WriteLine($"Total pages: {pdf.Pages.Count}")
For i As Integer = 0 To pdf.Pages.Count - 1
Dim page = pdf.Pages(i)
Dim outputPath As String = $"page_{i + 1}.svg"
page.SaveAsSvg(outputPath)
Console.WriteLine($"Saved: {outputPath}")
Next
End Using대용량 문서의 경우, 다음 섹션에서 설명하는 비동기 방식을 사용하면 변환 중 애플리케이션 스레드가 차단되지 않습니다.
PDF-SVG 변환에 비동기 메서드를 사용하는 방법은?
비동기 버전인 SaveAsSvgAsync()와 ToSvgStringAsync()는 I/O 작업을 메인 스레드에서 분리합니다. PdfDocument.OpenAsync()도 PDF를 비동기로 로드합니다. 이 메서드들은 ASP.NET Core 핸들러, 백그라운드 서비스, 또는 UI 응답성이 중요한 애플리케이션에서 적합합니다.
아래 예제는 PDF를 열고 모든 페이지를 비동기로 변환하여, 호출 스레드가 작업 중에도 자유롭게 유지됩니다.
using PdfToSvg;
using PdfDocument = PdfToSvg.PdfDocument;
using var pdf = await PdfDocument.OpenAsync("dashboard.pdf");
for (int i = 0; i < pdf.Pages.Count; i++)
{
var page = pdf.Pages[i];
await page.SaveAsSvgAsync($"dashboard_page_{i + 1}.svg");
}
// Or get the SVG markup as a string
string firstPageSvg = await pdf.Pages[0].ToSvgStringAsync();using PdfToSvg;
using PdfDocument = PdfToSvg.PdfDocument;
using var pdf = await PdfDocument.OpenAsync("dashboard.pdf");
for (int i = 0; i < pdf.Pages.Count; i++)
{
var page = pdf.Pages[i];
await page.SaveAsSvgAsync($"dashboard_page_{i + 1}.svg");
}
// Or get the SVG markup as a string
string firstPageSvg = await pdf.Pages[0].ToSvgStringAsync();Imports PdfToSvg
Imports PdfDocument = PdfToSvg.PdfDocument
Using pdf = Await PdfDocument.OpenAsync("dashboard.pdf")
For i As Integer = 0 To pdf.Pages.Count - 1
Dim page = pdf.Pages(i)
Await page.SaveAsSvgAsync($"dashboard_page_{i + 1}.svg")
Next
' Or get the SVG markup as a string
Dim firstPageSvg As String = Await pdf.Pages(0).ToSvgStringAsync()
End UsingImports PdfToSvg
Imports PdfDocument = PdfToSvg.PdfDocument
Using pdf = Await PdfDocument.OpenAsync("dashboard.pdf")
For i As Integer = 0 To pdf.Pages.Count - 1
Dim page = pdf.Pages(i)
Await page.SaveAsSvgAsync($"dashboard_page_{i + 1}.svg")
Next
' Or get the SVG markup as a string
Dim firstPageSvg As String = Await pdf.Pages(0).ToSvgStringAsync()
End UsingSVG 변환 옵션을 설정하는 방법은?
SvgConversionOptions는 SVG 출력 생성 방식을 제어합니다. 가장 자주 사용하는 속성은 다음과 같습니다:
IncludeAnnotations:true로 설정하면 PDF 주석 레이어를 SVG에 렌더링합니다.IncludeLinks:true로 설정하면 PDF 하이퍼링크를 SVG의<a>요소로 전달하여, 브라우저에서 탐색 가능한 출력을 만듭니다.IncludeHiddenText: PDF 콘텐츠 스트림에 존재하지만 보이지 않는 텍스트를 노출합니다. 접근성이나 텍스트 추출 파이프라인에 유용합니다.MinStrokeWidth: 렌더링되는 선의 최소 두께(SVG 사용자 단위)를 설정하여, 일반적인 보기 배율에서 머리카락처럼 얇은 경로가 사라지는 것을 방지합니다.
아래 코드는 주석과 링크를 활성화하고, 최소 선 두께를 설정한 뒤, 해당 옵션으로 모든 페이지를 내보냅니다.
using PdfToSvg;
using PdfDocument = PdfToSvg.PdfDocument;
var options = new SvgConversionOptions
{
IncludeAnnotations = true,
IncludeLinks = true,
IncludeHiddenText = false,
MinStrokeWidth = 0.5
};
using var pdf = PdfDocument.Open("annotated-report.pdf");
for (int i = 0; i < pdf.Pages.Count; i++)
{
var page = pdf.Pages[i];
page.SaveAsSvg($"page_{i + 1}.svg", options);
}using PdfToSvg;
using PdfDocument = PdfToSvg.PdfDocument;
var options = new SvgConversionOptions
{
IncludeAnnotations = true,
IncludeLinks = true,
IncludeHiddenText = false,
MinStrokeWidth = 0.5
};
using var pdf = PdfDocument.Open("annotated-report.pdf");
for (int i = 0; i < pdf.Pages.Count; i++)
{
var page = pdf.Pages[i];
page.SaveAsSvg($"page_{i + 1}.svg", options);
}Imports PdfToSvg
Imports PdfDocument = PdfToSvg.PdfDocument
Dim options = New SvgConversionOptions With {
.IncludeAnnotations = True,
.IncludeLinks = True,
.IncludeHiddenText = False,
.MinStrokeWidth = 0.5
}
Using pdf = PdfDocument.Open("annotated-report.pdf")
For i As Integer = 0 To pdf.Pages.Count - 1
Dim page = pdf.Pages(i)
page.SaveAsSvg($"page_{i + 1}.svg", options)
Next
End UsingImports PdfToSvg
Imports PdfDocument = PdfToSvg.PdfDocument
Dim options = New SvgConversionOptions With {
.IncludeAnnotations = True,
.IncludeLinks = True,
.IncludeHiddenText = False,
.MinStrokeWidth = 0.5
}
Using pdf = PdfDocument.Open("annotated-report.pdf")
For i As Integer = 0 To pdf.Pages.Count - 1
Dim page = pdf.Pages(i)
page.SaveAsSvg($"page_{i + 1}.svg", options)
Next
End Using추가로 두 가지 속성은 텍스트 간격 처리 방식을 제어합니다. CollapseSpaceEmbeddedFont와 CollapseSpaceLocalFont는 인접한 문자 사이의 간격이 폰트 크기의 일정 비율 이하일 때, 하나의 텍스트 런으로 병합하는 임계값을 설정합니다. 값이 작을수록 간격 충실도가 높아지고, 값이 클수록 SVG 파일 크기가 작아집니다.
고급 사용 사례에서는 FontResolver 속성에 PDF 폰트 참조를 로컬 폰트 리소스에 매핑하는 커스텀 리졸버를 지정할 수 있습니다. 이는 소스 문서에 폰트가 임베드되어 있지 않을 때 필수적입니다. ImageResolver 속성은 PDF 내 래스터 이미지를 SVG에서 어떻게 처리할지 제어합니다. 인라인 인코딩은 자체 포함된 SVG 파일을 만들고, 외부 경로 해석은 SVG를 더 작게 유지합니다. 모든 설정 가능한 속성은 SvgConversionOptions API 레퍼런스에서 확인할 수 있습니다.
SVG 출력에서 PDF 레이어 가시성을 제어하는 방법은?
레이어가 있는 PDF는 PdfDocument의 OptionalContentGroups 컬렉션을 통해 레이어를 노출합니다. 각 항목은 OptionalContentGroup으로, 읽기 전용 Name(소스 문서의 레이어 라벨)과 get/set 가능한 Visible 플래그를 쌍으로 가집니다. Visible을 설정하면 SVG 변환 시 해당 레이어의 렌더링 여부를 제어할 수 있으므로, 하나의 PDF로 여러 SVG 버전을 파일을 수정하지 않고도 만들 수 있습니다.
레이어 이름을 미리 알 필요는 없습니다. 컬렉션은 문서에 실제로 존재하는 레이어를 반영하므로, 이를 열거하여 각 Name을 읽고 숨기고 싶은 레이어만 끌 수 있습니다. ToString()은 Name과 동일한 값을 반환하므로 로깅에 편리합니다.
아래 예제는 PDF의 모든 레이어를 나열하고, Watermark라는 이름의 레이어를 숨긴 뒤, 해당 레이어가 제외된 첫 페이지를 내보냅니다.
using PdfToSvg;
using PdfDocument = PdfToSvg.PdfDocument;
using var pdf = PdfDocument.Open("technical-drawing.pdf");
// List the layers that actually exist in this PDF
foreach (var layer in pdf.OptionalContentGroups)
{
Console.WriteLine($"{layer.Name} visible: {layer.Visible}");
}
// Hide the watermark layer; every other layer stays visible
foreach (var layer in pdf.OptionalContentGroups)
{
if (layer.Name == "Watermark")
{
layer.Visible = false;
}
}
// Visibility set on OptionalContentGroups is applied during conversion
pdf.Pages[0].SaveAsSvg("drawing-no-watermark.svg");using PdfToSvg;
using PdfDocument = PdfToSvg.PdfDocument;
using var pdf = PdfDocument.Open("technical-drawing.pdf");
// List the layers that actually exist in this PDF
foreach (var layer in pdf.OptionalContentGroups)
{
Console.WriteLine($"{layer.Name} visible: {layer.Visible}");
}
// Hide the watermark layer; every other layer stays visible
foreach (var layer in pdf.OptionalContentGroups)
{
if (layer.Name == "Watermark")
{
layer.Visible = false;
}
}
// Visibility set on OptionalContentGroups is applied during conversion
pdf.Pages[0].SaveAsSvg("drawing-no-watermark.svg");Imports PdfToSvg
Imports PdfDocument = PdfToSvg.PdfDocument
Using pdf = PdfDocument.Open("technical-drawing.pdf")
' List the layers that actually exist in this PDF
For Each layer In pdf.OptionalContentGroups
Console.WriteLine($"{layer.Name} visible: {layer.Visible}")
Next
' Hide the watermark layer; every other layer stays visible
For Each layer In pdf.OptionalContentGroups
If layer.Name = "Watermark" Then
layer.Visible = False
End If
Next
' Visibility set on OptionalContentGroups is applied during conversion
pdf.Pages(0).SaveAsSvg("drawing-no-watermark.svg")
End UsingImports PdfToSvg
Imports PdfDocument = PdfToSvg.PdfDocument
Using pdf = PdfDocument.Open("technical-drawing.pdf")
' List the layers that actually exist in this PDF
For Each layer In pdf.OptionalContentGroups
Console.WriteLine($"{layer.Name} visible: {layer.Visible}")
Next
' Hide the watermark layer; every other layer stays visible
For Each layer In pdf.OptionalContentGroups
If layer.Name = "Watermark" Then
layer.Visible = False
End If
Next
' Visibility set on OptionalContentGroups is applied during conversion
pdf.Pages(0).SaveAsSvg("drawing-no-watermark.svg")
End Using대표적인 사용 사례는 기술 도면에서 주석, 치수, 워터마크 레이어를 독립적으로 토글해야 할 때입니다. 가시성은 변환마다 설정되므로, 동일한 소스 PDF로 여러 SVG 버전을 파일 수정 없이 만들 수 있습니다.
스트림에서 PDF 열기 및 암호로 보호된 PDF 열기
PdfDocument.Open()은 파일 경로뿐 아니라 Stream도 받을 수 있습니다. leaveOpen 매개변수(기본값 false)는 문서가 dispose될 때 스트림을 닫을지 여부를 제어합니다. 경로와 스트림 오버로드 모두 암호화된 문서의 암호 제공, 장기 실행 워크플로우에서 협력적 취소를 위한 CancellationToken 등 구성을 위한 OpenOptions 객체를 받을 수 있습니다.
아래 코드는 스트림에서 PDF를 열고, 첫 페이지를 SVG로 저장한 뒤, 파일이 암호화되어 있는지, 제목, 페이지 수를 출력합니다.
using PdfToSvg;
using PdfDocument = PdfToSvg.PdfDocument;
// Open from a stream (e.g., downloaded from a web API)
using var fileStream = File.OpenRead("document.pdf");
using var pdf = PdfDocument.Open(fileStream, leaveOpen: false);
pdf.Pages[0].SaveAsSvg("from-stream.svg");
// Check if a PDF is encrypted
Console.WriteLine($"Encrypted: {pdf.IsEncrypted}");
// Access document metadata
Console.WriteLine($"Title: {pdf.Info.Title}");
Console.WriteLine($"Pages: {pdf.Pages.Count}");using PdfToSvg;
using PdfDocument = PdfToSvg.PdfDocument;
// Open from a stream (e.g., downloaded from a web API)
using var fileStream = File.OpenRead("document.pdf");
using var pdf = PdfDocument.Open(fileStream, leaveOpen: false);
pdf.Pages[0].SaveAsSvg("from-stream.svg");
// Check if a PDF is encrypted
Console.WriteLine($"Encrypted: {pdf.IsEncrypted}");
// Access document metadata
Console.WriteLine($"Title: {pdf.Info.Title}");
Console.WriteLine($"Pages: {pdf.Pages.Count}");Imports PdfToSvg
Imports PdfDocument = PdfToSvg.PdfDocument
' Open from a stream (e.g., downloaded from a web API)
Using fileStream = File.OpenRead("document.pdf")
Using pdf = PdfDocument.Open(fileStream, leaveOpen:=False)
pdf.Pages(0).SaveAsSvg("from-stream.svg")
' Check if a PDF is encrypted
Console.WriteLine($"Encrypted: {pdf.IsEncrypted}")
' Access document metadata
Console.WriteLine($"Title: {pdf.Info.Title}")
Console.WriteLine($"Pages: {pdf.Pages.Count}")
End Using
End UsingImports PdfToSvg
Imports PdfDocument = PdfToSvg.PdfDocument
' Open from a stream (e.g., downloaded from a web API)
Using fileStream = File.OpenRead("document.pdf")
Using pdf = PdfDocument.Open(fileStream, leaveOpen:=False)
pdf.Pages(0).SaveAsSvg("from-stream.svg")
' Check if a PDF is encrypted
Console.WriteLine($"Encrypted: {pdf.IsEncrypted}")
' Access document metadata
Console.WriteLine($"Title: {pdf.Info.Title}")
Console.WriteLine($"Pages: {pdf.Pages.Count}")
End Using
End UsingInfo 속성은 제목, 저자, 생성일 등 문서 메타데이터를 제공합니다. Permissions 속성은 PDF가 허용하는 작업(인쇄, 복사 등)을 보고하며, IsEncrypted는 파일을 열 때 암호가 필요한지 여부를 나타냅니다.
다음 단계
PdfToSvg 네임스페이스는 PDF 페이지를 SVG 파일, 스트림, 문자열로 변환합니다. 페이지 단위로 동작하며, 주석, 링크, 텍스트 가시성, 선 두께, 레이어 토글을 완벽하게 제어할 수 있습니다. 모든 메서드는 비동기 버전을 제공하여 비차단 워크플로우를 지원합니다.
전체 변환 메서드 목록은 PdfPage API 레퍼런스, 모든 설정 가능한 속성은 SvgConversionOptions 레퍼런스, 열기 및 로드 옵션은 PdfDocument 레퍼런스에서 확인하세요. 반대 방향(SVG를 PDF에 삽입)은 SVG를 PDF로 변환하는 방법을 참고하세요.
라이선스 옵션 보기 (시작가: $999)
자주 묻는 질문
PDF 파일을 SVG 형식으로 변환하는 목적은 무엇입니까?
PDF 파일을 SVG 형식으로 변환하면 문서 내용을 웹 페이지에 포함시키고, 해상도에 독립적인 미리보기를 생성하며, 보고서, 송장 또는 기술 도면에서 벡터 그래픽을 추출할 수 있습니다. SVG는 확장 가능하며 픽셀화되지 않아 웹 및 디자인 애플리케이션에 이상적입니다.
IronPDF의 PdfToSvg를 PDF를 SVG로 변환하는 데 어떻게 활용할 수 있습니까?
IronPDF의 PdfToSvg 네임스페이스는 PDF 페이지를 SVG 형식으로 변환하기 위한 전용 API를 제공합니다. PdfDocument.Open()으로 PDF를 열고 Pages 컬렉션을 통해 개별 페이지에 액세스한 다음 각 PdfPage에서 SaveAsSvg() 또는 ToSvgString()을 호출하여 SVG 출력을 생성할 수 있습니다.
IronPDF를 사용하여 PDF 페이지를 비동기적으로 SVG로 변환할 수 있습니까?
예, IronPDF는 비동기 PDF를 SVG로 변환을 지원합니다. SaveAsSvgAsync() 및 ToSvgStringAsync() 메서드를 사용하여 I/O 작업을 메인 스레드에서 분리할 수 있으며, 이는 반응형 애플리케이션에 유용합니다.
IronPDF의 SvgConversionOptions는 무엇입니까?
IronPDF의 SvgConversionOptions는 SVG 출력이 생성되는 방식을 제어합니다. 옵션에는 출력에 주석, 링크 및 숨겨진 텍스트를 포함할지 여부와 최소 스트로크 너비 설정이 포함됩니다. 이러한 옵션은 SVG 변환 프로세스를 사용자 정의할 수 있게 합니다.
IronPDF를 사용하여 PDF를 SVG로 변환할 때 레이어 가시성을 제어할 수 있습니까?
예, IronPDF는 PdfDocument의 OptionalContentGroups 컬렉션을 사용하여 PDF 레이어 가시성을 제어할 수 있습니다. 특정 레이어의 가시성을 전환하여 SVG 변환 중에 렌더링 여부를 결정할 수 있습니다.
IronPDF는 PDF 파일을 SVG로 변환할 때 암호화된 PDF 파일을 어떻게 처리합니까?
IronPDF는 OpenOptions 객체를 사용하여 암호화된 PDF 파일을 열 수 있으며, 여기에는 비밀번호 제공이 포함됩니다. 이를 통해 인증 후 암호화된 PDF를 SVG로 변환할 수 있습니다.
웹 애플리케이션에서 PDF에 SVG 형식을 사용하는 이점은 무엇입니까?
SVG 형식은 고품질의 확장 가능한 그래픽을 픽셀화 없이 유지하고, 선택 가능하고 검색 가능한 텍스트를 지원하며, CSS 또는 스크립팅을 사용하여 스타일을 수정할 수 있기 때문에 웹 애플리케이션에 유익합니다.
IronPDF는 PDF의 모든 페이지를 개별 SVG 파일로 변환할 수 있습니까?
예, IronPDF는 PDF의 모든 페이지를 개별 SVG 파일로 변환할 수 있습니다. Pages 컬렉션을 반복하여 각 페이지를 별도의 SVG 파일로 저장할 수 있으며, 이는 다중 페이지 PDF에 유용합니다.
IronPDF를 사용하여 PDF를 SVG로 변환하기 위한 최소 단계는 무엇입니까?
IronPDF를 사용하여 PDF를 SVG로 변환하려면 NuGet을 통해 IronPDF를 설치하고, PdfToSvg 네임스페이스에서 PdfDocument.Open()으로 PDF를 열고, SaveAsSvg()를 호출하여 SVG 파일을 작성해야 합니다.
IronPDF는 변환 목적으로 스트림에서 PDF를 여는 것을 지원합니까?
예, IronPDF는 스트림에서 PDF를 여는 것을 지원합니다. Stream 입력과 함께 PdfDocument.Open()을 사용하여 파일로 저장되지 않고 다른 소스에서 스트리밍되는 PDF 시나리오에 유연하게 대처할 수 있습니다.
아흐마드는 C#, Python 및 웹 기술에 탄탄한 기반을 갖춘 풀스택 개발자입니다. 그는 확장 가능한 소프트웨어 솔루션 구축에 깊은 관심을 가지고 있으며, 실제 응용 프로그램에서 디자인과 기능이 어떻게 조화를 이루는지 탐구하는 것을 즐깁니다.