Jak przekonwertować PDF na SVG w C#
Przestrzeń nazw PdfToSvg w IronPDF udostępnia dedykowane API do konwersji stron PDF na skalowalną grafikę wektorową. SVG (Scalable Vector Graphics) to format oparty na XML, który pozostaje ostry przy dowolnym poziomie powiększenia: w przeciwieństwie do obrazów rastrowych (PNG, JPEG), wynik SVG nie ulega pikselozie podczas skalowania. Konwersja stron PDF do SVG jest przydatna do osadzania zawartości dokumentów na stronach internetowych, generowania podglądów niezależnych od rozdzielczości oraz wyodrębniania grafiki wektorowej z raportów, faktur czy rysunków technicznych.
Konwersja odbywa się dla każdej strony osobno: otwórz PDF za pomocą PdfDocument.Open(), uzyskaj dostęp do poszczególnych stron przez kolekcję Pages, a następnie wywołaj SaveAsSvg() lub ToSvgString() na każdej PdfPage, aby uzyskać wynik SVG. Wszystkie metody konwersji mają warianty asynchroniczne.
To jest kierunek PDF-do-SVG: wyodrębnianie wektorowego SVG z istniejących plików PDF. Odwrotny proces (osadzanie grafiki SVG w nowym PDF) opisano w instrukcji SVG do PDF.
Rozpocznij bezpłatny 30-dniowy okres próbny, aby przetestować konwersję PDF do SVG.
Poniższy przykład otwiera plik PDF i zapisuje jego pierwszą stronę jako plik SVG.
-
1Install IronPDF with NuGet Package Manager
-
2Skopiuj i uruchom ten fragment kodu.
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 -
3Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną
Minimalny przebieg (3 kroki)
- Zainstaluj IronPDF przez NuGet:
Install-Package IronPdf - Otwórz PDF za pomocą
PdfDocument.Open()z przestrzeni nazwPdfToSvg - Wywołaj
SaveAsSvg()na dowolnej stronie, aby zapisać plik SVG
Jak przekonwertować pojedynczą stronę PDF na SVG?
Klasa PdfPage udostępnia cztery metody konwersji:
SaveAsSvg(): zapisuje stronę do ścieżki pliku lubStream.SaveAsSvgAsync(): nieblokujący wariantSaveAsSvg().ToSvgString(): zwraca kod SVG jakostring, przydatny gdy wynik trafia do silnika szablonów, odpowiedzi HTTP lub dalszego przetwarzania.ToSvgStringAsync(): nieblokujący wariantToSvgString().
Wszystkie cztery przyjmują opcjonalny argument SvgConversionOptions oraz CancellationToken.
Poniższy przykład zapisuje pierwszą stronę do pliku, pobiera tę samą stronę jako string i zapisuje ją do strumienia. Pokazuje wszystkie trzy typy wyjścia.
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 implementuje IDisposable, więc opakowanie go w instrukcję using zwalnia natywne zasoby po zakończeniu konwersji. Kolekcja Pages jest indeksowana od zera, więc Pages[0] to pierwsza strona.
PdfToSvg.PdfDocument to inna klasa niż IronPdf.PdfDocument; dyrektywa using PdfToSvg; wprowadza ją do zakresu.Kiedy PDF do SVG to właściwy wybór?
SVG to lepszy format wyjściowy, gdy strona będzie powiększana, osadzana w układzie strony internetowej lub stylizowana po konwersji: tekst pozostaje zaznaczalny i przeszukiwalny, a ścieżki edytowalne w narzędziach wektorowych. Dla stron zeskanowanych lub fotograficznych nie ma wektorowej zawartości do zachowania, więc eksport rastrowy jest mniejszy i nie traci jakości.
Jak przekonwertować wszystkie strony PDF na SVG?
Kolekcja Pages jest indeksowana od zera, więc dodanie jeden do indeksu pętli daje czytelny numer strony dla każdego pliku wyjściowego.
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 UsingDla dużych dokumentów podejście asynchroniczne opisane w następnej sekcji pozwala uniknąć blokowania wątku aplikacji podczas konwersji.
Jak używać metod asynchronicznych do konwersji PDF na SVG?
Warianty asynchroniczne, SaveAsSvgAsync() i ToSvgStringAsync(), przenoszą operacje I/O poza główny wątek. PdfDocument.OpenAsync() również ładuje PDF asynchronicznie. Te metody są odpowiednie w handlerach ASP.NET Core, usługach w tle lub każdej aplikacji z responsywnym interfejsem.
Poniższy przykład otwiera PDF i konwertuje każdą stronę asynchronicznie, dzięki czemu wątek wywołujący pozostaje wolny podczas pracy.
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 UsingJak skonfigurować opcje konwersji SVG?
SvgConversionOptions kontroluje sposób generowania wyjścia SVG. Najczęściej używane właściwości to:
IncludeAnnotations: ustaw natrue, aby renderować warstwy adnotacji PDF w wyjściu SVGIncludeLinks: ustaw natrue, aby przenieść hiperłącza PDF jako elementy<a>w SVG, zachowując nawigację w przeglądarceIncludeHiddenText: ujawnia tekst istniejący w strumieniu treści PDF, ale niewidoczny, przydatny dla dostępności lub pipeline'ów ekstrakcji tekstuMinStrokeWidth: ustala minimalną szerokość linii (w jednostkach SVG) dla renderowanych ścieżek, zapobiegając zanikaniu cienkich linii przy normalnym powiększeniu
Kod poniżej włącza adnotacje i linki, ustawia minimalną szerokość linii, a następnie eksportuje każdą stronę z tymi opcjami.
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 UsingDwie dodatkowe właściwości kontrolują sposób obsługi odstępów tekstu. CollapseSpaceEmbeddedFont i CollapseSpaceLocalFont ustalają progi (jako ułamek rozmiaru czcionki), poniżej których odstępy między sąsiednimi znakami są łączone w jeden ciąg tekstowy. Mniejsze wartości lepiej odwzorowują oryginalne odstępy; większe dają mniejsze pliki SVG.
Dla zaawansowanych zastosowań właściwość FontResolver przyjmuje niestandardowy resolver mapujący odwołania do czcionek PDF na lokalne zasoby czcionek, co jest niezbędne, gdy dokument źródłowy odwołuje się do czcionek nieosadzonych. Właściwość ImageResolver kontroluje, jak obrazy rastrowe w PDF są obsługiwane w SVG: kodowanie inline daje samodzielny plik SVG, a rozwiązywanie ścieżek zewnętrznych pozwala zachować kompaktowość SVG. Dokumentacja API SvgConversionOptions opisuje każdą konfigurowalną właściwość.
Jak kontrolować widoczność warstw PDF w wyjściu SVG?
Warstwowy PDF udostępnia swoje warstwy przez kolekcję OptionalContentGroups w PdfDocument. Każdy element to OptionalContentGroup, który łączy tylko do odczytu Name (etykieta warstwy z dokumentu źródłowego) z flagą Visible (do odczytu i zapisu). Ustawienie Visible decyduje, czy dana warstwa zostanie wyrenderowana podczas konwersji do SVG, więc jeden PDF może dać różne warianty SVG bez edycji pliku.
Nie musisz znać nazw warstw z góry. Kolekcja odzwierciedla warstwy faktycznie obecne w dokumencie, więc możesz ją enumerować, odczytać każdą Name i wyłączyć te, które chcesz ukryć. ToString() zwraca tę samą wartość co Name, co jest wygodne do logowania.
Poniższy przykład wypisuje każdą warstwę w PDF, ukrywa tę o nazwie Watermark i eksportuje pierwszą stronę z tą warstwą wyłączoną.
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 UsingTypowe zastosowanie to rysunek techniczny, gdzie warstwy adnotacji, wymiarów lub znaków wodnych należy przełączać niezależnie. Ponieważ widoczność ustawia się przy każdej konwersji, ten sam plik PDF może dać kilka wariantów SVG bez zmian w pliku.
Jak otwierać PDF-y ze strumieni i z hasłem?
PdfDocument.Open() przyjmuje zarówno Stream, jak i ścieżkę pliku. Parametr leaveOpen (domyślnie false) decyduje, czy strumień zostanie zamknięty po zwolnieniu dokumentu. Oba przeciążenia (ścieżka i strumień) przyjmują obiekt OpenOptions do konfiguracji, np. podania hasła dla zaszyfrowanych dokumentów, oraz CancellationToken do kooperatywnego anulowania w długotrwałych procesach.
Fragment otwiera PDF ze strumienia, zapisuje jego pierwszą stronę jako SVG, a następnie wypisuje, czy plik jest zaszyfrowany, jego tytuł i liczbę stron.
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 UsingWłaściwość Info udostępnia metadane dokumentu takie jak tytuł, autor i data utworzenia. Właściwość Permissions informuje, jakie operacje są dozwolone (drukowanie, kopiowanie), a IsEncrypted wskazuje, czy plik wymaga hasła do otwarcia.
Kolejne kroki
Przestrzeń nazw PdfToSvg konwertuje strony PDF do plików SVG, strumieni lub stringów. Działa per-strona, z pełną kontrolą nad adnotacjami, linkami, widocznością tekstu, szerokością linii i przełączaniem warstw. Wszystkie metody mają warianty asynchroniczne do nieblokujących przebiegów.
Poznaj dokumentację API PdfPage dla pełnej powierzchni metod konwersji, dokumentację SvgConversionOptions dla wszystkich opcji konfiguracyjnych oraz dokumentację PdfDocument dla opcji otwierania i ładowania. Odwrotny kierunek (osadzanie SVG w PDF) opisano w instrukcji SVG do PDF.
Zobacz opcje licencjonowania już od $999.
Często Zadawane Pytania
Jaki jest cel konwersji plików PDF do formatu SVG?
Konwersja plików PDF do formatu SVG pozwala na osadzanie treści dokumentu na stronach internetowych, generowanie podglądów niezależnych od rozdzielczości oraz wyodrębnianie grafiki wektorowej z raportów, faktur lub rysunków technicznych. SVG jest skalowalny i nie pikseluje się, co czyni go idealnym dla aplikacji internetowych i projektowych.
Jak można wykorzystać PdfToSvg z IronPDF do konwersji PDF do SVG?
Przestrzeń nazw PdfToSvg w IronPDF zapewnia dedykowane API do konwersji stron PDF do formatu SVG. Możesz otworzyć PDF za pomocą PdfDocument.Open(), uzyskać dostęp do poszczególnych stron przez kolekcję Pages, a następnie wywołać SaveAsSvg() lub ToSvgString() na każdej PdfPage, aby uzyskać wyjście SVG.
Czy strony PDF mogą być konwertowane na SVG asynchronicznie za pomocą IronPDF?
Tak, IronPDF obsługuje asynchroniczne konwersje PDF do SVG. Możesz użyć metod SaveAsSvgAsync() i ToSvgStringAsync(), aby utrzymać operacje I/O poza głównym wątkiem, co jest korzystne w aplikacjach responsywnych.
Czym są SvgConversionOptions w IronPDF?
SvgConversionOptions w IronPDF kontrolują, jak generowane jest wyjście SVG. Opcje obejmują, czy uwzględniać adnotacje, linki i ukryty tekst w wyjściu, a także ustawianie minimalnej szerokości linii. Te opcje pozwalają na dostosowanie procesu konwersji SVG.
Czy możliwe jest kontrolowanie widoczności warstw podczas konwersji PDF do SVG za pomocą IronPDF?
Tak, IronPDF pozwala na kontrolowanie widoczności warstw PDF za pomocą kolekcji OptionalContentGroups na PdfDocument. Możesz przełączać widoczność dla konkretnych warstw, co decyduje o tym, czy są one renderowane podczas konwersji SVG.
Jak IronPDF obsługuje zaszyfrowane pliki PDF do konwersji na SVG?
IronPDF może otwierać zaszyfrowane pliki PDF za pomocą obiektu OpenOptions, który obejmuje podanie hasła. To pozwala na konwersję zaszyfrowanych PDF do SVG po uwierzytelnieniu.
Jakie są korzyści z używania formatu SVG dla PDF w aplikacjach internetowych?
Format SVG jest korzystny dla aplikacji internetowych, ponieważ utrzymuje wysokiej jakości, skalowalną grafikę bez pikselizacji, obsługuje wybieralny i przeszukiwalny tekst oraz pozwala na modyfikacje stylu za pomocą CSS lub skryptów.
Czy IronPDF może konwertować wszystkie strony PDF na indywidualne pliki SVG?
Tak, IronPDF może konwertować wszystkie strony PDF na indywidualne pliki SVG. Iterując przez kolekcję Pages, możesz zapisać każdą stronę jako oddzielny plik SVG, co jest przydatne dla PDF-ów wielostronicowych.
Jakie są minimalne kroki, aby rozpocząć konwersję PDF do SVG za pomocą IronPDF?
Aby przekonwertować PDF na SVG za pomocą IronPDF, musisz zainstalować IronPDF przez NuGet, otworzyć PDF za pomocą PdfDocument.Open() z przestrzeni nazw PdfToSvg i wywołać SaveAsSvg() na dowolnej stronie, aby zapisać plik SVG.
Czy IronPDF obsługuje otwieranie PDF-ów ze strumieni do celów konwersji?
Tak, IronPDF obsługuje otwieranie PDF-ów ze strumieni. Możesz użyć PdfDocument.Open() z wejściem Stream, co czyni go wszechstronnym w scenariuszach, gdzie PDF-y nie są przechowywane jako pliki, ale są przesyłane strumieniowo z innych źródeł.
Ahmad to full-stack developer z solidnym fundamentem w C#, Pythonie i technologiach webowych. Ma głębokie zainteresowanie tworzeniem skalowalnych rozwiązań oprogramowania i cieszy się badaniem, jak projektowanie i funkcjonalność spotykają się w rzeczywistych aplikacjach.