C# ile PDF'yi SVG'ye Dönüştürme

Ahmad Sohail
Ahmad Sohail
Updated: 18 Eylül 2026

IronPDF içindeki PdfToSvg ad alanı, PDF sayfalarını ölçeklenebilir vektör grafiklerine dönüştürmek için özel bir API sağlar. SVG (Scalable Vector Graphics), herhangi bir yakınlaştırma seviyesinde keskin kalan XML tabanlı bir formattır: raster görüntülerden (PNG, JPEG) farklı olarak, SVG çıktısı büyütüldüğünde pikselleşmez. PDF sayfalarını SVG'ye dönüştürmek, belge içeriğini web sayfalarına gömmek, çözünürlükten bağımsız önizlemeler oluşturmak ve raporlar, faturalar veya teknik çizimlerden vektör grafiklerini çıkarmak için kullanışlıdır.

Dönüştürme, sayfa başına çalışır: PdfDocument.Open() ile bir PDF açın, Pages koleksiyonu aracılığıyla bireysel sayfalara erişin, ardından SVG çıktısı üretmek için her PdfPage üzerinde SaveAsSvg() veya ToSvgString() çağrısı yapın. Tüm dönüştürme yöntemleri için eşzamanlı varyantlar mevcuttur.

Bu, PDF'den SVG'ye yönüdür: mevcut PDF dosyalarından vektör SVG çıkarmak. Ters iş akışı (yeni bir PDF'ye SVG grafiklerini gömme) için SVG'den PDF'ye nasıl yapılır bölümüne bakın.

PDF'den SVG'ye dönüştürmeyi test etmek için ücretsiz 30 günlük deneme başlatın.

NuGetNuGet ile yükleyin

PM > Install-Package IronPdf

Install IronPDF by running the command above in the NuGet Package Manager Console, or search for the package in the NuGet Package Manager.

Aşağıdaki örnek bir PDF açar ve ilk sayfasını bir SVG dosyası olarak kaydeder.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Bu kod parçacığını kopyalayın ve çalıştırın.

    using PdfToSvg;
    
    using var pdf = PdfDocument.Open("report.pdf");
    pdf.Pages[0].SaveAsSvg("page-one.svg");
  3. 3Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronPDF kullanmaya başlayın
    arrow pointer
Hızlı Başlangıç

Minimal İş Akışı (3 Adım)

  1. IronPDF'yi NuGet üzerinden yükleyin: Install-Package IronPdf
  2. PdfToSvg ad alanından PdfDocument.Open() ile bir PDF açın
  3. Herhangi bir sayfada SaveAsSvg() çağrısı yaparak SVG dosyasını yazın

Tek Bir PDF Sayfasını SVG'ye Nasıl Dönüştürürsünüz?

PdfPage sınıfı dört dönüştürme yöntemi sağlar:

  • SaveAsSvg(): sayfayı bir dosya yoluna veya Streame yazar.
  • SaveAsSvgAsync(): SaveAsSvg()'nin engellemeyen varyantı.
  • ToSvgString(): SVG işaretlemesini bir string olarak döndürür, çıktının bir şablon motoruna, bir HTTP yanıtına veya bir aşağı akış hattına beslenmesi gerektiğinde kullanışlıdır.
  • ToSvgStringAsync(): ToSvgString()'in engellemeyen varyantı.

Tüm dördü isteğe bağlı bir SvgConversionOptions argümanı ve bir CancellationToken kabul eder.

Aşağıdaki örnek, ilk sayfayı bir dosyaya kaydeder, aynı sayfayı bir dize olarak geri alır ve bir akışa yazar. Üç çıkış hedefini de gösterir.

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);

PdfDocument, IDisposable'ı uygular, bu nedenle bir using ifadesine sarmak, dönüştürme tamamlandığında yerel kaynakları serbest bırakır. Pages koleksiyonu sıfır indekslidir, bu nedenle Pages[0] ilk sayfadır.

Lütfen dikkate alın: PdfToSvg.PdfDocument, IronPdf.PdfDocument'den farklı bir sınıftır; using PdfToSvg; yönergesi onu kapsam içine alır.

PDF'den SVG'ye Ne Zaman Doğru Seçimdir?

Bir sayfa yakınlaştırılacak, bir web düzenine gömülecek veya dönüştürmeden sonra yeniden şekillendirilecekse SVG daha iyi bir çıktıdır: metin seçilebilir ve aranabilir kalır ve yollar vektör araçlarında düzenlenebilir kalır. Tarama veya fotoğrafik sayfalar için korunacak vektör içeriği yoktur, bu nedenle bir raster dışa aktarma daha küçüktür ve hiçbir şey kaybetmez.

Bir PDF'deki Tüm Sayfaları SVG'ye Nasıl Dönüştürürsünüz?

Pages koleksiyonu sıfır indekslidir, bu nedenle döngü indeksine bir eklemek, her çıktı dosyası için insan tarafından okunabilir bir sayfa numarası verir.

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}");
}
Lütfen dikkate alın: SVG, PDF'nin yaptığı gibi çok sayfalı belgeleri desteklemez, bu nedenle 10 sayfalık bir PDF, 10 bireysel SVG dosyası üretir.

Büyük belgeler için, bir sonraki bölümde açıklanan eşzamanlı yaklaşım, dönüştürme sırasında uygulama iş parçacığını engellemekten kaçınır.

Bu türden favori kütüphanem IronPDF'dir. PDF dosyalarının hızlı ve verimli bir şekilde işlenmesine olanak tanır. Ayrıca, PDF/A formatına dışa aktarma ve dijital imzalama gibi birçok değerli özelliğe sahiptir.

Milan Jovanovic

Microsoft MVP

Vaka çalışmasını görüntüle

IronOCR, manuel işleme maliyetinden yıllık 40.000 USD tasarruf etmemizi sağlıyor, üretkenliği artırıyor ve yüksek etkili görevler için kaynakları serbest bırakıyor. Kesinlikle tavsiye ederim.

Brent Matzelle

Teknoloji Müdürü, OPYN

Vaka çalışmasını görüntüle

PDF'den SVG'ye Dönüştürme için Eşzamanlı Yöntemler Nasıl Kullanılır?

Eşzamanlı varyantlar, SaveAsSvgAsync() ve ToSvgStringAsync(), G/Ç'yi ana iş parçacığından uzak tutar. PdfDocument.OpenAsync() da PDF'yi eşzamanlı olarak yükler. Bu yöntemler, ASP.NET Core işleyicilerinde, arka plan hizmetlerinde veya duyarlı bir kullanıcı arayüzüne sahip herhangi bir uygulamada doğru seçimdir.

Aşağıdaki örnek, PDF'yi açar ve her sayfayı eşzamanlı olarak dönüştürür, böylece çağıran iş parçacığı iş çalışırken serbest kalır.

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();

SVG Dönüştürme Seçenekleri Nasıl Yapılandırılır?

SvgConversionOptions, SVG çıktısının nasıl üretileceğini kontrol eder. En yaygın kullanılan özellikler şunlardır:

  • IncludeAnnotations: PDF açıklama katmanlarını SVG çıktısında işlemek için true olarak ayarlayın
  • IncludeLinks: PDF köprülerini SVG'de <a> öğeleri olarak taşımak için true olarak ayarlayın, çıktıyı bir tarayıcıda gezilebilir tutar
  • IncludeHiddenText: PDF içerik akışında var olan ancak görünmeyen metni yüzeye çıkarır, erişilebilirlik veya metin çıkarma hatları için kullanışlıdır
  • MinStrokeWidth: normal görüntüleme ölçeklerinde saç çizgisi yollarının kaybolmasını önleyerek, işlenmiş stroklar için (SVG kullanıcı birimlerinde) bir taban ayarlar

Aşağıdaki kod, açıklamaları ve bağlantıları açar, minimum strok genişliğini ayarlar ve ardından bu seçenekleri kullanarak her sayfayı dışa aktarır.

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);
}

Metin aralığının nasıl ele alındığını kontrol eden iki ek özellik vardır. CollapseSpaceEmbeddedFont ve CollapseSpaceLocalFont, bitişik karakterler arasındaki boşlukların tek bir metin çalışmasına çöktüğü eşik değerlerini (yazı tipi boyutunun kesirleri olarak) ayarlar. Daha sıkı değerler daha fazla aralık sadakatini korur; daha gevşek değerler daha küçük SVG dosyaları üretir.

Gelişmiş kullanım durumları için, FontResolver özelliği, PDF yazı tipi referanslarını yerel yazı tipi kaynaklarına eşleyen özel bir çözücü kabul eder, bu, kaynak belge gömülü olmayan yazı tiplerine referans verdiğinde esastır. ImageResolver özelliği, PDF içindeki raster görüntülerin SVG çıktısında nasıl ele alındığını kontrol eder: satır içi kodlama, kendi kendine yeten bir SVG dosyası üretirken, harici yol çözümü SVG'yi kompakt tutar. SvgConversionOptions API referansı, yapılandırılabilir her özelliği belgeler.

SVG Çıktısında PDF Katman Görünürlüğü Nasıl Kontrol Edilir?

Katmanlı bir PDF, PdfDocument üzerindeki OptionalContentGroups koleksiyonu aracılığıyla katmanlarını açığa çıkarır. Her giriş, salt okunur bir Name (kaynak belgeden katman etiketi) ile bir get/set Visible bayrağını eşleştiren bir OptionalContentGroup 'dur. Visible ayarı, SVG dönüştürme sırasında o katmanın işlenip işlenmeyeceğini kontrol eder, böylece tek bir PDF, dosyayı düzenlemeden farklı SVG varyantları üretebilir.

Katman adlarını önceden bilmenize gerek yoktur. Koleksiyon, belgede gerçekten mevcut olan katmanları yansıtır, böylece onu numaralandırabilir, her Name'i okuyabilir ve gizlemek istediğiniz katmanları kapatabilirsiniz. ToString(), Name ile aynı değeri döndürür, bu da günlük kaydı için uygundur.

Aşağıdaki örnek, PDF'deki her katmanı listeler, Watermark adlı olanı gizler ve o katman bastırılmış olarak ilk sayfayı dışa aktarır.

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");

Tipik bir kullanım durumu, açıklama, boyut veya filigran katmanlarının bağımsız olarak açılıp kapatılması gereken bir teknik çizimdir. Görünürlük, dönüştürme başına ayarlandığından, aynı kaynak PDF, dosyada değişiklik yapmadan birkaç SVG varyantı üretebilir.

Akışlardan ve Şifrelerle PDF'ler Nasıl Açılır?

PdfDocument.Open(), bir dosya yoluna ek olarak bir Stream kabul eder. leaveOpen parametresi (varsayılan false), belge elden çıkarıldığında akışın kapatılıp kapatılmayacağını kontrol eder. Hem yol hem de akış aşırı yüklemeleri, şifreli belgeler için bir şifre sağlama gibi yapılandırma için bir OpenOptions nesnesi ve uzun süreli iş akışlarında işbirlikçi iptal için bir CancellationToken kabul eder.

Kod parçası, bir akıştan bir PDF açar, ilk sayfasını SVG olarak kaydeder, ardından dosyanın şifreli olup olmadığını, başlığını ve sayfa sayısını yazdırır.

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}");

Info özelliği, başlık, yazar ve oluşturma tarihi dahil olmak üzere belge meta verilerini açığa çıkarır. Permissions özelliği, PDF'nin hangi işlemleri (yazdırma, kopyalama) izin verdiğini rapor eder ve IsEncrypted, dosyanın açılması için bir şifre gerektirip gerektirmediğini belirtir.

Sonraki Adımlar

PdfToSvg ad alanı, PDF sayfalarını SVG dosyalarına, akışlarına veya dizelerine dönüştürür. Sayfa başına çalışır, açıklamalar, bağlantılar, metin görünürlüğü, strok genişliği ve katman geçişi üzerinde tam kontrol sağlar. Tüm yöntemlerin engellemeyen iş akışları için eşzamanlı varyantları vardır.

Tam dönüştürme yöntem yüzeyi için PdfPage API referansını, yapılandırılabilir her özellik için SvgConversionOptions referansını ve açma ve yükleme seçenekleri için PdfDocument referansını keşfedin. Ters yön (SVG'yi bir PDF'ye gömme) için SVG'den PDF'ye nasıl yapılır bölümüne bakın.

Lisanslama seçeneklerini görüntüleyin $999'dan başlayan fiyatlarla.

Sıkça Sorulan Sorular

PDF dosyalarını SVG formatına dönüştürmenin amacı nedir?

PDF dosyalarını SVG formatına dönüştürmek, belge içeriğini web sayfalarına gömmek, çözünürlükten bağımsız önizlemeler oluşturmak ve raporlar, faturalar veya teknik çizimlerden vektör grafikleri çıkarmak için olanak tanır. SVG ölçeklenebilir ve pikselleşmez, bu da onu web ve tasarım uygulamaları için ideal kılar.

IronPDF'nin PdfToSvg'si PDF'den SVG'ye dönüşüm için nasıl kullanılabilir?

IronPDF'nin PdfToSvg ad alanı, PDF sayfalarını SVG formatına dönüştürmek için özel bir API sağlar. PdfDocument.Open() ile bir PDF açabilir, Pages koleksiyonu aracılığıyla bireysel sayfalara erişebilir ve ardından her PdfPage üzerinde SaveAsSvg() veya ToSvgString() çağrısı yaparak SVG çıktısı üretebilirsiniz.

IronPDF kullanarak PDF sayfaları asenkron olarak SVG'ye dönüştürülebilir mi?

Evet, IronPDF asenkron PDF'den SVG'ye dönüşümleri destekler. I/O işlemlerini ana iş parçacığından uzak tutmak için SaveAsSvgAsync() ve ToSvgStringAsync() yöntemlerini kullanabilirsiniz, bu da duyarlı uygulamalarda faydalıdır.

IronPDF'deki SvgConversionOptions nedir?

IronPDF'deki SvgConversionOptions, SVG çıktısının nasıl üretileceğini kontrol eder. Seçenekler, çıktıda anotasyonlar, bağlantılar ve gizli metinlerin dahil edilip edilmeyeceği ve minimum çizgi genişliğinin ayarlanması gibi unsurları içerir. Bu seçenekler, SVG dönüşüm sürecinin özelleştirilmesine olanak tanır.

IronPDF kullanarak PDF'den SVG'ye dönüşümde katman görünürlüğü kontrol edilebilir mi?

Evet, IronPDF, PdfDocument üzerindeki OptionalContentGroups koleksiyonunu kullanarak PDF katman görünürlüğünü kontrol etmenize olanak tanır. Belirli katmanlar için görünürlüğü değiştirebilir, bu da SVG dönüşümü sırasında render edilip edilmeyeceklerini belirler.

IronPDF, şifreli PDF dosyalarını SVG'ye dönüştürmek için nasıl işler?

IronPDF, OpenOptions nesnesini kullanarak şifreli PDF dosyalarını açabilir, bu da bir parola sağlamayı içerir. Bu, kimlik doğrulama sonrasında şifreli PDF'lerin SVG'ye dönüştürülmesine olanak tanır.

Web uygulamalarında PDF'ler için SVG formatını kullanmanın faydaları nelerdir?

SVG formatı, yüksek kaliteli, ölçeklenebilir grafikler sunarak pikselleşmeden korur, seçilebilir ve aranabilir metinleri destekler ve CSS veya betik kullanarak stil değişikliklerine izin verir, bu da web uygulamaları için faydalıdır.

IronPDF, bir PDF'nin tüm sayfalarını ayrı SVG dosyalarına dönüştürebilir mi?

Evet, IronPDF bir PDF'nin tüm sayfalarını ayrı SVG dosyalarına dönüştürebilir. Pages koleksiyonunu yineleyerek, her sayfayı ayrı bir SVG dosyası olarak kaydedebilirsiniz, bu da çok sayfalı PDF'ler için kullanışlıdır.

IronPDF kullanarak bir PDF'yi SVG'ye dönüştürmeye başlamak için minimal adımlar nelerdir?

IronPDF kullanarak bir PDF'yi SVG'ye dönüştürmek için, NuGet üzerinden IronPDF'yi yüklemeniz, PdfToSvg ad alanından PdfDocument.Open() ile bir PDF açmanız ve herhangi bir sayfada SaveAsSvg() çağrısı yaparak SVG dosyasını yazmanız gerekir.

IronPDF, dönüşüm amaçları için akışlardan PDF açmayı destekliyor mu?

Evet, IronPDF akışlardan PDF açmayı destekler. PdfDocument.Open() ile bir Akış girdisi kullanabilirsiniz, bu da PDF'lerin dosya olarak saklanmadığı ancak diğer kaynaklardan akış olarak geldiği senaryolar için esneklik sağlar.

Ahmad, C#, Python ve web teknolojilerinde sağlam bir temele sahip bir full-stack geliştiricidir. Gerçek dünyadaki uygulamalarda ölçeklenebilir yazılım çözümleri oluşturmaktan ve tasarım ile işlevselliğin nasıl buluştuğunu keşfetmekten derin bir ilgi duyar.

Daha Fazla Oku

Başlamaya Hazır mısınız?

Nuget Downloads 21,916,531Sürüm:2026.11yeni yayınlandı