SVG'yi C# İçerisinde PDF'ye Dönüştürme
IronPDF, HTML'den PDF'e yaklaşımını kullanarak SVG grafiklerini PDF belgelerine dönüştürür - uygun bir görüntüleme sağlamak için SVG'nizi stil etiketleri ile genişlik/yükseklik belirtimiyle bir img etiketi içine yerleştirin.
IronPDF, SVG grafiklerini PDF belgelerine işlemek için HTML'den PDF'e yöntemini destekler. SVG (Ölçeklenebilir Vektör Grafik) dosyaları, ölçeklenebilirlikleri ve herhangi bir boyutta net gösterimleri nedeniyle logolar, simgeler, illüstrasyonlar ve grafikler için yaygın olarak kullanılır. Yazdırmaya hazır belgeler oluşturmak, arşivleme amaçlı ve farklı platformlar arasında tutarlı bir görüntü gösterimi sağlamak için SVG'lerin PDF'lere dönüştürülmesi esastır.
Not: Bir SVG yerleştirirken img öğesinin genişlik ve/veya yükseklik stil niteliğini ayarlayın - aksi takdirde sıfır boyutuna küçülebilir ve işlenen PDF'de görünmeyebilir.
Hızlı Başlangıç: Zahmetsiz SVG'den PDF'e Dönüştürme
IronPDF kullanarak SVG dosyalarını C# içerisinde PDF'ye dönüştürme. Bu parçacık, başarılı bir şekilde işlemek için belirli boyutlarla bir HTML img etiketi aracılığıyla bir SVG yerleştirme işlemini gösterir. SVG'lerinizin doğru şekilde işlenip PDF olarak kaydedilmesini sağlamak için hızlı bir uygulama için bu kılavuzu takip edin.
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronPdf yükleyin
PM > Install-Package IronPdf -
Bu kod parçasını kopyalayıp çalıştırın.
new IronPdf.ChromePdfRenderer { RenderingOptions = { WaitFor = IronPdf.Rendering.WaitFor.RenderDelay(1000) } } .RenderHtmlAsPdf("<img src='https://example.com/logo.svg' style='width:100px;height:100px;'>") .SaveAs("svgToPdf.pdf"); -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronPDF kullanmaya başlayın ücretsiz deneme ile
Minimal İş Akışı (5 adımda)
- SVG'den PDF'e Dönüştürme için IronPDF Kütüphanesini Kurun
- SVG resmini içe aktarmak için HTML'de
imgetiketini kullanın - IronPDF'te farklı işleme yöntemlerini kullanarak PDF üretmek
- SVG resmi içeren PDF dosyasını
SaveAsyöntemiyle kaydedin - Belirtilen konumda PDF'yi kontrol edin
SVG'yi PDF'ye Doğru Boyutlandırma ile Nasıl İşlerim?
Birçok tarayıcı, boyut özellikleri olmadan SVG'yi kabul eder; ancak, işleme motorumuz bunları gerektirir. IronPDF tarafından kullanılan Chrome işleme motoru, SVG öğelerini doğru şekilde işlemek için net boyutlar gerektirir. Belirtilen boyutlar olmadan, SVG son PDF'de görünmeyebilir veya beklenmedik boyutlarla işlenebilir.
IronPDF ile çalışırken, uygun işleme sağlamak için birkaç seçeneğiniz var:
- Stil Nitelikleri ile Çizgi İçi SVG: Genişliği ve yüksekliği doğrudan stil niteliğinde ekleyin
- Harici SVG Dosyaları: URL veya yerel dosya yolu aracılığıyla SVG dosyalarını referans alın
- Base64 Kodlu SVG'ler: SVG'leri doğrudan HTML içinde Base64 dizgeleri olarak yerleştirin
Daha ileri HTML işleme seçenekleri için, işleme seçenekleri konusundaki kapsamlı rehberimize bakın.
:path=/static-assets/pdf/content-code-examples/how-to/SVGs-render.cs
using IronPdf;
string html = "<img src='https://ironsoftware.com/img/svgs/new-banner-svg.svg' style='width:100px'>";
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.WaitFor.RenderDelay(1000);
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("svgToPdf.pdf");
Imports IronPdf
Private html As String = "<img src='https://ironsoftware.com/img/svgs/new-banner-svg.svg' style='width:100px'>"
Private renderer As New ChromePdfRenderer()
renderer.RenderingOptions.WaitFor.RenderDelay(1000)
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("svgToPdf.pdf")
Oluşturulan PDF Nasıl Görünür?
Ek olarak, veya alternatif olarak, bir SVG düğümü atanmış net bir genişlik ve yükseklik niteliğine sahip olabilir. CodePen'deki SVG stil örneklerine de bakın.
SVG'yi PDF'ye İşleme Örneği
Yerel SVG Dosyalarıyla Çalışmak
Yerel SVG dosyalarını PDF'ye dönüştürürken, dosya yolu yöntemini kullanın. Bu yöntem, projenizde depolanan SVG varlıklarıyla iyi çalışır:
using IronPdf;
using System.IO;
// Load SVG file content
string svgPath = @"C:\assets\company-logo.svg";
string svgContent = File.ReadAllText(svgPath);
// Create HTML with embedded SVG
string html = $@"
<html>
<head>
<style>
body {{ margin: 20px; }}
.logo {{ width: 200px; height: 100px; }}
</style>
</head>
<body>
<h1>Company Report</h1>
<img src='file:///{svgPath}' class='logo' />
<p>Annual financial summary with vector graphics.</p>
</body>
</html>";
// Configure renderer with custom settings
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
// Generate PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("report-with-svg.pdf");
using IronPdf;
using System.IO;
// Load SVG file content
string svgPath = @"C:\assets\company-logo.svg";
string svgContent = File.ReadAllText(svgPath);
// Create HTML with embedded SVG
string html = $@"
<html>
<head>
<style>
body {{ margin: 20px; }}
.logo {{ width: 200px; height: 100px; }}
</style>
</head>
<body>
<h1>Company Report</h1>
<img src='file:///{svgPath}' class='logo' />
<p>Annual financial summary with vector graphics.</p>
</body>
</html>";
// Configure renderer with custom settings
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
// Generate PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("report-with-svg.pdf");
Imports IronPdf
Imports System.IO
' Load SVG file content
Dim svgPath As String = "C:\assets\company-logo.svg"
Dim svgContent As String = File.ReadAllText(svgPath)
' Create HTML with embedded SVG
Dim html As String = $"
<html>
<head>
<style>
body {{ margin: 20px; }}
.logo {{ width: 200px; height: 100px; }}
</style>
</head>
<body>
<h1>Company Report</h1>
<img src='file:///{svgPath}' class='logo' />
<p>Annual financial summary with vector graphics.</p>
</body>
</html>"
' Configure renderer with custom settings
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.MarginTop = 10
renderer.RenderingOptions.MarginBottom = 10
renderer.RenderingOptions.PrintHtmlBackgrounds = True
' Generate PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("report-with-svg.pdf")
Gömülü SVG'ler için Base64 Kodlama
Harici dosya referansları olmadan doğrudan HTML içine gömülmesi gereken SVG verileri gerektiren senaryolar için Base64 kodlama güvenilir bir çözüm sağlar. Bu yaklaşım, gömülü resimler rehberimizde ayrıntılı olarak açıklanmıştır:
using IronPdf;
using System;
// SVG content as string
string svgContent = @"<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'>
<circle cx='50' cy='50' r='40' stroke='black' stroke-width='2' fill='red' />
</svg>";
// Convert to Base64
byte[] svgBytes = System.Text.Encoding.UTF8.GetBytes(svgContent);
string base64Svg = Convert.ToBase64String(svgBytes);
// Create HTML with Base64 embedded SVG
string html = $@"
<html>
<body>
<h2>Embedded SVG Example</h2>
<img src='data:image/svg+xml;base64,{base64Svg}' style='width:150px;height:150px;' />
</body>
</html>";
// Render to PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("embedded-svg.pdf");
using IronPdf;
using System;
// SVG content as string
string svgContent = @"<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'>
<circle cx='50' cy='50' r='40' stroke='black' stroke-width='2' fill='red' />
</svg>";
// Convert to Base64
byte[] svgBytes = System.Text.Encoding.UTF8.GetBytes(svgContent);
string base64Svg = Convert.ToBase64String(svgBytes);
// Create HTML with Base64 embedded SVG
string html = $@"
<html>
<body>
<h2>Embedded SVG Example</h2>
<img src='data:image/svg+xml;base64,{base64Svg}' style='width:150px;height:150px;' />
</body>
</html>";
// Render to PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("embedded-svg.pdf");
Imports IronPdf
Imports System
Imports System.Text
' SVG content as string
Dim svgContent As String = "<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'>
<circle cx='50' cy='50' r='40' stroke='black' stroke-width='2' fill='red' />
</svg>"
' Convert to Base64
Dim svgBytes As Byte() = Encoding.UTF8.GetBytes(svgContent)
Dim base64Svg As String = Convert.ToBase64String(svgBytes)
' Create HTML with Base64 embedded SVG
Dim html As String = $"
<html>
<body>
<h2>Embedded SVG Example</h2>
<img src='data:image/svg+xml;base64,{base64Svg}' style='width:150px;height:150px;' />
</body>
</html>"
' Render to PDF
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("embedded-svg.pdf")
SVG'den PDF'e Dönüştürme için En İyi Uygulamalar
1. Her Zaman Boyutları Belirtin
SVG'leri PDF'ye dönüştürürken en yaygın sorun, eksik veya sıfır boyutlardır. SVG unsurlarınızın her zaman net genişlik ve yükseklik değerlerine sahip olduğundan emin olun. Duyarlı tasarımlar için PDF düzenini kontrol etmek için görünüm ayarlarını kullanmayı düşünün.
2. Karmaşık SVG'leri İşleme Gecikmeleri ile Yönetin
Animasyonlar veya JavaScript ile karmaşık SVG dosyaları ek render süresi gerektirebilir. Tam render sağlamak için RenderDelay seçeneğini kullanın:
renderer.RenderingOptions.WaitFor.RenderDelay(2000); // Wait 2 seconds
renderer.RenderingOptions.WaitFor.RenderDelay(2000); // Wait 2 seconds
renderer.RenderingOptions.WaitFor.RenderDelay(2000) ' Wait 2 seconds
İleri düzey JavaScript işleme için, JavaScript işleme rehberimizi keşfedin.
3. SVG Dosyalarını Optimize Edin
Dönüştürmeden önce, SVG dosyalarınızı optimize edin:
- Gereksiz meta verileri kaldırmak
- Yolları basitleştirmek
- Tutarlı işleme için metni yollara dönüştürmek
- Uygun sıkıştırmayı kullanmak
4. Çapraz Platform Uyumluluğunu Test Edin
SVG işleme, farklı işletim sistemleri arasında değişebilir. Dönüştürmelerinizi şu ortamlarda test edin:
Yaygın SVG Sorunlarının Giderilmesi
SVG PDF'de Görünmüyor
SVG'niz oluşturulan PDF'de görünmüyorsa:
- Boyutların doğru ayarlandığını doğrulayın
- Dosya yollarının veya URL'lerin erişilebilir olduğunu kontrol edin
- SVG dosyaları için düzgün MIME türü sağlayın
- piksel-mükemmel işleme kılavuzumuzu inceleyin
Ölçeklendirme ve Çözünürlük Sorunları
Farklı ölçeklerde yüksek kaliteli SVG işleme için:
// Set custom DPI for better quality
renderer.RenderingOptions.DPI = 300;
// Use CSS transforms for scaling
string html = @"
<img src='logo.svg' style='width:200px;height:200px;transform:scale(1.5);' />";
// Set custom DPI for better quality
renderer.RenderingOptions.DPI = 300;
// Use CSS transforms for scaling
string html = @"
<img src='logo.svg' style='width:200px;height:200px;transform:scale(1.5);' />";
' Set custom DPI for better quality
renderer.RenderingOptions.DPI = 300
' Use CSS transforms for scaling
Dim html As String = "
<img src='logo.svg' style='width:200px;height:200px;transform:scale(1.5);' />"
SVG'lerde Yazı Tipi İşleme
SVG'ler metin elemanları içerdiğinde, yazı tiplerinin düzgün bir şekilde gömüldüğünden emin olun. yazı tipi yönetimi ve web yazı tipi desteği hakkında daha fazla bilgi edinin.
Gelişmiş SVG Dönüştürme Teknikleri
Birden Fazla SVG Dosyasını Toplu İşleme
Birden fazla SVG dosyasını tek bir PDF belgesine dönüştürmek için:
using IronPdf;
using System.Collections.Generic;
using System.Text;
List<string> svgFiles = new List<string>
{
"chart1.svg",
"chart2.svg",
"diagram.svg"
};
StringBuilder htmlBuilder = new StringBuilder();
htmlBuilder.Append("<html><body>");
foreach(string svgFile in svgFiles)
{
htmlBuilder.Append($@"
<div style='page-break-after:always;'>
<img src='{svgFile}' style='width:600px;height:400px;' />
</div>");
}
htmlBuilder.Append("</body></html>");
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
pdf.SaveAs("multiple-svgs.pdf");
using IronPdf;
using System.Collections.Generic;
using System.Text;
List<string> svgFiles = new List<string>
{
"chart1.svg",
"chart2.svg",
"diagram.svg"
};
StringBuilder htmlBuilder = new StringBuilder();
htmlBuilder.Append("<html><body>");
foreach(string svgFile in svgFiles)
{
htmlBuilder.Append($@"
<div style='page-break-after:always;'>
<img src='{svgFile}' style='width:600px;height:400px;' />
</div>");
}
htmlBuilder.Append("</body></html>");
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
pdf.SaveAs("multiple-svgs.pdf");
Imports IronPdf
Imports System.Collections.Generic
Imports System.Text
Dim svgFiles As New List(Of String) From {
"chart1.svg",
"chart2.svg",
"diagram.svg"
}
Dim htmlBuilder As New StringBuilder()
htmlBuilder.Append("<html><body>")
For Each svgFile As String In svgFiles
htmlBuilder.Append($"
<div style='page-break-after:always;'>
<img src='{svgFile}' style='width:600px;height:400px;' />
</div>")
Next
htmlBuilder.Append("</body></html>")
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlBuilder.ToString())
pdf.SaveAs("multiple-svgs.pdf")
Birden fazla sayfayla çalışmak hakkında daha fazla bilgi için PDF'leri birleştirme veya ayırma kılavuzumuza bakın.
Başka neler yapabileceğinizi görmek için hazır mısınız? Eğitim sayfamızı burada inceleyin: Ekstra Özellikler. SVG içeren PDF'lerinize başlıklar ve altlıklar eklemeyi veya belgelerinize markalama için özel filigranlar eklemeyi keşfedebilirsiniz.
TextAnnotationveAddTextAnnotationkullanın
Sıkça Sorulan Sorular
C#'ta SVG'yi PDF'e nasıl dönüştürurum?
IronPDF, HTML'den PDF'e yöntemi kullanarak SVG'yi PDF'e dönüştürur. SVG'yi, genislik ve yükseklik stilleriyle birlikte HTML img etiketine gomin, daha sonra HTML'yi bir PDF olarak oluşturmak için IronPDF'in ChromePdfRenderer'ini kullanin. Önemli olan img elemanindaki doğru boyutmalari saglamaktir.
SVG neden PDF'te gozukmuyor?
IronPDF ile oluşturulan PDF'lerde SVG'ler, açık bir genislik ve yükseklik belirtilmemisse gorunmeyebilir. IronPDF tarafindan kullanilan Chrome delgelik motoru, boyutlarin stil özellikleri veya img etiketindeki genislik/yükseklik özellikleriyle ayarlanmasini ister. Bunlar olmadan, SVG sifir boyutuna dusebilir.
PDF'e dönüştürmek için SVG'leri gommenin farkli yöntemleri nelerdir?
IronPDF, SVG'leri gommek için uc ana yöntem desteglir: 1) Genislik ve yükseklik için stil özellikleriyle satir ici SVG, 2) URL veya yerel dosya yolu araciligiyla referans verilen harici SVG dosyalari ve 3) HTML'ye doğrudan gomulen Base64 kodlu SVG'ler. Tüm yöntemler doğru boyutmalari gerektirir.
Yerel SVG dosyalarini PDF'e dönüştürebilir miyim?
Evet, IronPDF yerel SVG dosyalarini PDF'e dönüştürebilir. Projenizde saklanan SVG varliklarinizi img etiketinin src özelligiyle referans veren yol yöntemini kullanin. Doğru bir delglik için genislik ve yükseklik belirtileri eklemeye dikkat edin.
SVG'den PDF'e dönüştürme için hangi delglik seçeneklerini kullanmaliyim?
IronPDF ile SVG'yi PDF'e dönüştürurken uygun RenderingOptions ile ChromePdfRenderer'i kullanin. Yaygin bir yöntem, SVG'lerin tamamen yüklenmesini saglamak için WaitFor.RenderDelay(1000) kullanarak bir RenderDelay eklemektir. Bu, karmasik SVG'ler veya harici kaynaklari yüklerken yardimci olur.
Dönüştürulmus SVG'yi PDF dosyasi olarak nasıl kaydederim?
IronPDF'in ChromePdfRenderer'i ile SVG iceren HTML'yi delgedikten sonra, SaveAs metodu ile PDF dosyasini kaydedin. Delgenmis PDF nesnesinde SaveAs("filename.pdf") cagrisini yaparak belirttiginiz konuma kaydedin.

