ASP.NET MVC Görünümlerini PDF'ye Çevirme: IronPDF vs iTextSharp
Full Comparison
Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.
ASP.NET MVC görünümlerini PDF belgelere dönüştürme, modern web uygulamalarında temel bir gerekliliktir. Faturalar, raporlar veya sertifikalar oluştururken zorluk aciktir: Razor gorunumlerini bicimlendirme ve stil koruyarak profesyonel PDF dosyalarina nasıl dönüştürursunuz? Bu kılavuz, eski iTextSharp kütüphanesini IronPDF ile karşılaştırır -- Chromium destekli modern çözüm -- böylece PDF oluşturma iş akışınız için doğru aracı seçebilirsiniz.

Neden MVC Görünümlerini PDF'ye Dönüştürmeniz Gerekiyor?
İşletmeler, sayısız hayati faaliyet için PDF oluşturulmasına güveniyor. Fatura sistemlerinin bozulmaya karşı korumalı faturalama belgelerine ihtiyaçı vardır. İK departmanları iş sertifikaları ve sözleşmeler üretir. Satış ekipleri teklifler ve öneriler hazırlar. Eğitim platformları tamamlama sertifikaları yayınlar. Her senaryo, tüm cihazlar ve platformlarda tutarlı formatı sürdürerek sunucu tarafı PDF oluşturulmasını gerektirir.
ASP.NET Core belgelerine göre, Razor görünümleri daha sonra PDF'ye dönüştürülebilecek dinamik içerik oluşturmak için mükemmel bir şablon sistemi sağlar. Temel soru, size en doğru, sürdürülebilir ve yasal olarak uygun çözümü sunan kütüphanenin hangisi olduğudur.

iTextSharp MVC'den PDF'ye Dönüştürmeyi Nasıl Yönetir?
iTextSharp, on yılı aşkın süredir .NET PDF oluşturma alanında bir temel taşı olmuştur. Orijinal olarak Java iText kütüphanesinden taşınan bu kütüphane, PDF oluşturma üzerinde düşük seviyeli kontrol sağlar. Ancak, HTML dönüştürme yaklaşımı yaşını gösteriyor, özellikle modern web içerikleriyle ilgilenirken.
iTextSharp Kurulumu
iTextSharp'ı ASP.NET Core MVC projenize eklemek için, Paket Yöneticisi Konsolu'nu kullanarak NuGet paketini yükleyin:
Install-Package iTextSharp
Install-Package iTextSharp

iTextSharp ile Temel Uygulama
Iste ASP.NET MVC projenizde, iTextSharp'ın XMLWorkerHelper sınıfını kullanarak bir MVC gorunumunu PDF'ye dönüştürmenin tam bir ornegi:
using iTextSharp.text;
using iTextSharp.tool.xml;
using iTextSharp.text.pdf;
using System.IO;
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult GeneratePDF()
{
// Create a simple invoice HTML
string invoiceHtml = @"
<h1>Invoice #1001</h1>
<p>Date: " + DateTime.Hayırw.ToString("MM/dd/yyyy") + @"</p>
<table border='1'>
<tr><th>Item</th><th>Price</th></tr>
<tr><td>Product A</td><td>$99.99</td></tr>
<tr><td>Product B</td><td>$149.99</td></tr>
</table>
<p><strong>Total: $249.98</strong></p>";
// Create PDF document using iTextSharp
using var stream = new MemoryStream();
var document = new Document(PageSize.A4);
PdfWriter writer = PdfWriter.GetInstance(document, stream);
document.Open();
using (var srHtml = new StringReader(invoiceHtml))
{
XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, srHtml);
}
document.Close();
// Return the PDF file
return new FileContentResult(stream.ToArray(), "application/pdf")
{
FileDownloadName = "invoice.pdf"
};
}
}
using iTextSharp.text;
using iTextSharp.tool.xml;
using iTextSharp.text.pdf;
using System.IO;
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult GeneratePDF()
{
// Create a simple invoice HTML
string invoiceHtml = @"
<h1>Invoice #1001</h1>
<p>Date: " + DateTime.Hayırw.ToString("MM/dd/yyyy") + @"</p>
<table border='1'>
<tr><th>Item</th><th>Price</th></tr>
<tr><td>Product A</td><td>$99.99</td></tr>
<tr><td>Product B</td><td>$149.99</td></tr>
</table>
<p><strong>Total: $249.98</strong></p>";
// Create PDF document using iTextSharp
using var stream = new MemoryStream();
var document = new Document(PageSize.A4);
PdfWriter writer = PdfWriter.GetInstance(document, stream);
document.Open();
using (var srHtml = new StringReader(invoiceHtml))
{
XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, srHtml);
}
document.Close();
// Return the PDF file
return new FileContentResult(stream.ToArray(), "application/pdf")
{
FileDownloadName = "invoice.pdf"
};
}
}
Imports iTextSharp.text
Imports iTextSharp.tool.xml
Imports iTextSharp.text.pdf
Imports System.IO
Public Class HomeController
Inherits Controller
Public Function Index() As ActionResult
Return View()
End Function
Public Function GeneratePDF() As ActionResult
' Create a simple invoice HTML
Dim invoiceHtml As String = "
<h1>Invoice #1001</h1>
<p>Date: " & DateTime.Now.ToString("MM/dd/yyyy") & "</p>
<table border='1'>
<tr><th>Item</th><th>Price</th></tr>
<tr><td>Product A</td><td>$99.99</td></tr>
<tr><td>Product B</td><td>$149.99</td></tr>
</table>
<p><strong>Total: $249.98</strong></p>"
' Create PDF document using iTextSharp
Using stream As New MemoryStream()
Dim document As New Document(PageSize.A4)
Dim writer As PdfWriter = PdfWriter.GetInstance(document, stream)
document.Open()
Using srHtml As New StringReader(invoiceHtml)
XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, srHtml)
End Using
document.Close()
' Return the PDF file
Return New FileContentResult(stream.ToArray(), "application/pdf") With {
.FileDownloadName = "invoice.pdf"
}
End Using
End Function
End Class
Bu örnek, HTML içeriğinden temel bir PDF belge oluşturur. XMLWorkerHelper sınıfı HTML dizgisini isler ve nesne modelini kullanarak PDF belgesine ogeler ekler. PdfWriter asıl PDF oluşturma surecini yonetirken, Document sayfa yapısını yonetir.
Çıktı

iTextSharp'ın Temel Sınırlamaları Nelerdir?
XMLWorkerHelper sınıfı temel HTML etiketlerini ve satir ici CSS'yi destekler. Modern CSS3 özellikleri, flexbox düzenleri ve grid sistemleri işlenmez. JavaScript'e bağımlı içerik tamamen kaybolur. Degradyantlar, gölgeler ve dönüşümler gibi karmaşık stil öğeleri göz ardı edilir. Standart Bootstrap sınıfları bile uygulanmaz, özenle tasarlanmış görünümler sade ve profesyonel görünmeyen şekilde kalır.
Birçok geliştirici, MVC'deki görünümleri iTextSharp ile PDF'ye dönüştürmeye çalışırken bu sınırlamaları Stack Overflow'da bildirmiştir, bu da hayal kırıklığına yol açmıştır.
Belki de daha endişe verici olan iTextSharp'ın lisanslama modelidir. Kütüphane, ücretsiz sürümü kullanıyorsanız tüm uygulamanızı açık kaynak yapmanızı gerektiren AGPL lisansını kullanır. Ticari lisanslar yılda birkaç bin dolardan başlar, bu da birçok işletme için aşırı derecede pahalı hale gelir. Bu lisans sınırlaması, birçok geliştiriciyi ticari geliştirme ihtiyaçlarına daha iyi uyan alternatifler aramaya yöneltmiştir. Microsoft'un .NET dokümantasyonunda tartışıldığı gibi, uygun lisanslara sahip kütüphanelerin seçilmesi, ticari projeler açısından kritiktir.

MVC Görünümlerini Modern Bir Kütüphane ile PDF'ye Nasıl Dönüştürürsünüz?
IronPDF, ASP.NET Core MVC'de PDF oluşturma için modern bir yaklaşımı temsil eder. Chromium motoru üzerine kurulu olan bu kütüphane, Google Chrome'da göründüğü şekilde HTML'yi PDF'ye dönüştürür ve tüm stil, JavaScript çalıştırma ve duyarlı tasarım öğelerini korur.
IronPDF'i Nasıl Kurarız?
Projenize IronPDF'i NuGet Paket Yöneticisi Konsolu'ndan ekleyin:
Install-Package IronPdf
Install-Package IronPdf

IronPDF ile Modern Uygulama
Yukarıda oluşturulan aynı fatura artık modern CSS ve tam HTML5 render kullanarak IronPDF'in ChromePdfRenderer'ı ile oluşturulur:
using IronPdf;
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult GenerateModernPDF()
{
// Create a styled invoice HTML with modern CSS
string invoiceHtml = @"
<style>
body { font-family: 'Segoe UI', Arial; padding: 40px; }
.invoice-header {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 30px;
border-radius: 10px;
}
table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
th {
background-color: #f3f4f6;
padding: 12px;
text-align: left;
}
td {
padding: 12px;
border-bottom: 1px solid #e5e7eb;
}
.total {
font-size: 24px;
color: #10b981;
text-align: right;
margin-top: 20px;
}
</style>
<div class='invoice-header'>
<h1>Invoice #1001</h1>
<p>Date: " + DateTime.Hayırw.ToString("MMMM dd, yyyy") + @"</p>
</div>
<table>
<tr><th>Item</th><th>Quantity</th><th>Price</th></tr>
<tr><td>Premium Package</td><td>1</td><td>$99.99</td></tr>
<tr><td>Professional Services</td><td>2</td><td>$149.99</td></tr>
</table>
<div class='total'>Total: $249.98</div>
<p>Page numbers and additional content can be added to each page.</p>";
// Use Chromium engine for rendering
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(invoiceHtml);
// Set content disposition for download
Response.Headers.Append("Content-Disposition", "attachment; filename=modern-invoice.pdf");
// Return the PDF file with binary data
return new FileContentResult(pdf.BinaryData, "application/pdf");
}
}
using IronPdf;
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult GenerateModernPDF()
{
// Create a styled invoice HTML with modern CSS
string invoiceHtml = @"
<style>
body { font-family: 'Segoe UI', Arial; padding: 40px; }
.invoice-header {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 30px;
border-radius: 10px;
}
table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
th {
background-color: #f3f4f6;
padding: 12px;
text-align: left;
}
td {
padding: 12px;
border-bottom: 1px solid #e5e7eb;
}
.total {
font-size: 24px;
color: #10b981;
text-align: right;
margin-top: 20px;
}
</style>
<div class='invoice-header'>
<h1>Invoice #1001</h1>
<p>Date: " + DateTime.Hayırw.ToString("MMMM dd, yyyy") + @"</p>
</div>
<table>
<tr><th>Item</th><th>Quantity</th><th>Price</th></tr>
<tr><td>Premium Package</td><td>1</td><td>$99.99</td></tr>
<tr><td>Professional Services</td><td>2</td><td>$149.99</td></tr>
</table>
<div class='total'>Total: $249.98</div>
<p>Page numbers and additional content can be added to each page.</p>";
// Use Chromium engine for rendering
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(invoiceHtml);
// Set content disposition for download
Response.Headers.Append("Content-Disposition", "attachment; filename=modern-invoice.pdf");
// Return the PDF file with binary data
return new FileContentResult(pdf.BinaryData, "application/pdf");
}
}
Imports IronPdf
Public Class HomeController
Inherits Controller
Public Function Index() As ActionResult
Return View()
End Function
Public Function GenerateModernPDF() As ActionResult
' Create a styled invoice HTML with modern CSS
Dim invoiceHtml As String = "
<style>
body { font-family: 'Segoe UI', Arial; padding: 40px; }
.invoice-header {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 30px;
border-radius: 10px;
}
table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
th {
background-color: #f3f4f6;
padding: 12px;
text-align: left;
}
td {
padding: 12px;
border-bottom: 1px solid #e5e7eb;
}
.total {
font-size: 24px;
color: #10b981;
text-align: right;
margin-top: 20px;
}
</style>
<div class='invoice-header'>
<h1>Invoice #1001</h1>
<p>Date: " & DateTime.Now.ToString("MMMM dd, yyyy") & "</p>
</div>
<table>
<tr><th>Item</th><th>Quantity</th><th>Price</th></tr>
<tr><td>Premium Package</td><td>1</td><td>$99.99</td></tr>
<tr><td>Professional Services</td><td>2</td><td>$149.99</td></tr>
</table>
<div class='total'>Total: $249.98</div>
<p>Page numbers and additional content can be added to each page.</p>"
' Use Chromium engine for rendering
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(invoiceHtml)
' Set content disposition for download
Response.Headers.Append("Content-Disposition", "attachment; filename=modern-invoice.pdf")
' Return the PDF file with binary data
Return New FileContentResult(pdf.BinaryData, "application/pdf")
End Function
End Class
ChromePdfRenderer HTML'i tam olarak Chrome'un göstereceği gibi dönüştürur. Degradyant arka planlar, modern yazı tipleri ve sofistike stil öğeleri doğru şekilde oluşturulur. Render motoru, iTextSharp'ın işleyemediği kompleks CSS özelliklerini, flexbox, grid düzenleri ve CSS dönüşümlerini statik çerçeveler olarak işleyebilir. RenderHtmlAsPdf yöntemi MVC'de HTML'yi PDF'ye dönüştürmayi kolaylastiriyor.
Çıktı

Ücretsiz denemenizi başlatın ve Chrome destekli render motoru ile modern PDF oluşturmayı deneyimleyin.

Bu İki PDF Kütüphanesi Arasında Nasıl Seçim Yaparsınız?
.NET MVC görünüm dönüştürme için iTextSharp ve IronPDF arasında karşılaştırma yaparken, rendering kalitesi, geliştirici deneyimi ve lisanslama açısından bu kütüphaneleri belirgin şekilde ayıran birkaç faktör vardır.
Özellik Karsilastirmasi
| Özellik | iTextSharp | IronPDF |
|---|---|---|
| HTML5 Desteği | Sınırlı | Tam |
| CSS3 Render | Yalnızca temel | Tam |
| JavaScript Çalıştırma | Hayır | Evet |
| Flexbox/Grid Desteği | Hayır | Evet |
| Bootstrap Uyumluluğu | Kısmi | Tam |
| Web Yazı Tipi Desteği | Sınırlı | Tam |
| SVG Grafikleri | Hayır | Evet |
| Duyarlı Tasarım | Hayır | Evet |
| API Karmaşıklığı | Düşük seviyeli | Yuksek seviyede |
Lisanslama Düşünceleri
Bu kütüphaneler arasındaki lisanslama farkı, ticari geliştirme üzerinde önemli bir etkiye sahiptir. iTextSharp'ın AGPL lisansı, birçok işletmenin kabul edemeyeceği yasal yükümlülükler oluşturur. Ücretsiz sürümü kullanmak, tescilli iş mantığınızı içeren tüm uygulamanızı açık kaynak yapmayı gerektirir. Bu kısıtlama, pahalı bir ticari lisans almadığınız sürece iTextSharp'ı çoğu ticari proje için uygun kılmaz.
IronPDF, tek bir geliştirici icin $799 ile basit ticari lisanslama sunar. Lisans, bir yıl güncellemeler ve destekle birlikte gelir ve uygulamanızı açık kaynak yapma zorunluluğu yoktur. Bu şeffaf fiyatlandırma modeli, tipik yazılım geliştirme bütçelerine uygun olarak profesyonel PDF oluşturmayı her boyutta işletme için MVC görünümlerini PDF'ye dönüştürmede erişilebilir kılar.

Çıktı Kalite Analizi
Çıkışları karşılaştırırken rendering kalitesi farkı hemen belli olur. iTextSharp, 2000'lerin başından kalma belgelere benzeyen temel PDF'ler üretir. Tablolar düzgün stilizasyondan yoksundur, yazı tipleri sistem standartlarına geri döner ve modern tasarım öğeleri tamamen kaybolur. Ortaya çıkan PDF'ler profesyonel görünmez ve uygulamanızın marka kimliğiyle eşleşmez.
IronPDF, web tasarımınıza birebir uygun pixel-perfect PDF'ler üretir. Degradyantlar doğru şekilde oluşturulur, özel yazı tipleri doğru görüntülenir ve karmaşık düzenler yapısını korur. Chromium motoru, PDF'lerinizin web görünümüyle aynı görünmesini sağlar ve tüm oluşturulan belgelerde marka kimliğini ve profesyonel görünümü korur.
PDF Render Motoru Hangi İleri Özellikleri Sunar?
Temel HTML dönüştürmenin ötesinde, IronPDF, profesyonel PDF oluşturmayı hızlandıran kurumsal seviyeli özellikler sunar. tam API dokümantasyonu, MVC görünümlerini PDF'ye dönüştürmeye yönelik kütüphanenin kapsamlı yeteneklerini gösterir.
Üstbilgiler ve Altbilgiler
Dinamik içerikle profesyonel başlık ve alt bilgi ekleyin:
var renderer = new ChromePdfRenderer
{
RenderingOptions = new ChromePdfRenderOptions
{
HtmlHeader = new HtmlHeaderFooter
{
MaxHeight = 25,
HtmlFragment = "<div style='text-align: center'>Company Name</div>"
},
HtmlFooter = new HtmlHeaderFooter
{
MaxHeight = 20,
HtmlFragment = "<center>Page {page} of {total-pages}</center>"
}
}
};
var renderer = new ChromePdfRenderer
{
RenderingOptions = new ChromePdfRenderOptions
{
HtmlHeader = new HtmlHeaderFooter
{
MaxHeight = 25,
HtmlFragment = "<div style='text-align: center'>Company Name</div>"
},
HtmlFooter = new HtmlHeaderFooter
{
MaxHeight = 20,
HtmlFragment = "<center>Page {page} of {total-pages}</center>"
}
}
};
Dim renderer = New ChromePdfRenderer With {
.RenderingOptions = New ChromePdfRenderOptions With {
.HtmlHeader = New HtmlHeaderFooter With {
.MaxHeight = 25,
.HtmlFragment = "<div style='text-align: center'>Company Name</div>"
},
.HtmlFooter = New HtmlHeaderFooter With {
.MaxHeight = 20,
.HtmlFragment = "<center>Page {page} of {total-pages}</center>"
}
}
}
Bu yapılandırma, her sayfaya tutarlı bir markalama ekler. {page} ve {total-pages} yer tutuculari otomatik olarak dogru degerlerle doldurulur, belgeleriniz boyunca dogru sayfa numaralandirmasini saglar. Daha fazla yapılandırma seçeneği için başlıklar ve alt bilgiler kılavuzuna bakın.
Güvenlik ve Şifreleme
IronPDF'un güvenlik özelliklerini kullanarak hassas belgeleri parolalar ve izinlerle koruyun:
var pdf = renderer.RenderHtmlAsPdf(html);
// Add password protection
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
// Set permissions
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.TamPrintRights;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
var pdf = renderer.RenderHtmlAsPdf(html);
// Add password protection
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
// Set permissions
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.TamPrintRights;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
Dim pdf = renderer.RenderHtmlAsPdf(html)
' Add password protection
pdf.SecuritySettings.UserPassword = "user123"
pdf.SecuritySettings.OwnerPassword = "owner456"
' Set permissions
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.TamPrintRights
pdf.SecuritySettings.AllowUserCopyPasteContent = False
Bu güvenlik ayarları, MMA görünümlerini PDF'ye dönüştürdüğünüzde, PDF'lerinizle alıcıların nasıl etkileşimde bulunacağını kontrol eder ve yetkisiz erişimi engeller. Yazdırmayı, kopyalamayı ve düzenlemeyi kısıtlayabilir ve tam sahip kontrolünü koruyabilirsiniz. Daha fazla bilgiyi PDF güvenliği dokümantasyonunda öğrenin.
Çıktı

Form Alanı İşleme
IronPDF, hiçbir ek araca gerek kalmadan HTML formları etkileşimli PDF formlarına dönüştürür:
string formHtml = @"
<form>
<label>Name:</label>
<input type='checkbox'> Accept Terms
<select name='country'>
<option>USA</option>
<option>Canada</option>
</select>
</form>";
var pdf = renderer.RenderHtmlAsPdf(formHtml);
string formHtml = @"
<form>
<label>Name:</label>
<input type='checkbox'> Accept Terms
<select name='country'>
<option>USA</option>
<option>Canada</option>
</select>
</form>";
var pdf = renderer.RenderHtmlAsPdf(formHtml);
Imports System
Dim formHtml As String = "
<form>
<label>Name:</label>
<input type='checkbox'> Accept Terms
<select name='country'>
<option>USA</option>
<option>Canada</option>
</select>
</form>"
Dim pdf = renderer.RenderHtmlAsPdf(formHtml)
Sonuçta ortaya çıkan PDF, kullanıcıların PDF okuyucularında alanları doğrudan doldurmalarına izin veren form etkileşimini korur. Bu özellik, doküman iş akışınızı basitleştirerek ayrı form oluşturma araçlarına gerek kalmamasını sağlar. Daha fazla seçenek için formlar dokümantasyonunu keşfedin.
Çıktı

Yaygın PDF Oluşturma Sorunları Nasıl Çözülür?
Modern kütüphanelerle bile, optimal PDF çıkışı sağlamak için belirli çözümler gerektiren bazı zorluklar vardır. Aşağıdaki kalıplar, MVC görünümlerini PDF'ye dönüştürürken geliştiricilerin karşılaştığı en yaygın sorunlara hitap eder.
CSS Render Optimizasyonu
HTML dosyalarını PDF formatına dönüştürürken karmaşık CSS ile en iyi sonuçlar için medya sorgularını kullanın:
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
Bu ayar, ekran görüntüsünden ziyade PDF çıktısı için düzenleri optimize eden yazdırma özgü CSS kurallarını uygular. Bunu yazdırma için optimize edilmiş stil sayfalarıyla birleştirmek, sayfa kırılmaları, kenar boşlukları ve tipografi üzerinde hassas kontrol sağlar. CSS medya türü kılavuzu, ek render seçeneklerini açıklar.
JavaScript Çalıştırma Zamanlaması
Dinamik içeriği dönüştürürken, PDF'yi yakalamadan önce JavaScript çalışmasının tamamlanması için zaman tanıyın. Bu, tüm AJAX çağrılarının ve DOM manipülasyonlarının tamamlanmasını sağlar:
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay = 500; // milliseconds
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay = 500; // milliseconds
Bu yapılandırma, AJAX çağrılarının tamamlanmasını ve DOM manipülasyonlarının bitmesini sağlar, PDF oluşturulmadan önce MVC görünümünüzün tamamen render edilmiş durumunu yakalar. Özellikle grafik kütüphaneleri ve diğer asenkron içerik için gecikme değerini artırmanız gerekebilir.
Çıktı

Yazi Tipi Gomulemesi ve Doküman Bicimlendirme
Ozel yazi tiplerinin dogru bir sekilde gösterildiginden emin olmak icin, bunlari HTML dosyanizda base64-encoded veri URI'lari kullanarak direk olarak gomun:
@font-face {
font-family: 'CustomFont';
src: url(data:font/woff2;base64,[base64-encoded-font]) format('woff2');
}
Yazi tiplerini HTML'ye direk olarak gommek, tüm ortamlarda tutarli bir görüntüleme saglar, oluşturulan PDF dokümanlarinda yazi tipi eksikligi sorunlarini ortadan kaldirir. Bu yaklasim, ister RenderUrlAsPdf ile URL tabanli, ister RenderHtmlAsPdf ile dizge tabanli render kullanin, ayni derecede basarili calisir.
IronPDF render etme seçenekleri dokümantasyonu adresinde sayfa boyutu, yonlendirme ve kenar bosluk kontrolu dahil olmak üzere ek yapılandirma kaliplari bulabilirsiniz. GitHub'daki örnek projeleri inceleyin ve yaygin MVC entegrasyon kaliplarini gozden gecirin.
Sıradaki Adımlarınız Neler?
iTextSharp, .NET topluluguna uzun yillar hizmet etti, ancak modern web geliştirme daha yetenekli PDF uretimi talep ediyor. IronPDF'nin Chrome tabanli render motoru, bugunun ASP.NET MVC uygulamalarinin gerektirdigi piksel hassasiyetinde dogruluk ve tam CSS3 destegi saglar. Yuksek seviyede API, kapsamli dokümantasyon ve is dostu lisanslama, onu ASP.NET Core MVC projeleri icin pratik bir seçenek yapar.
Uygulamanizda PDF uretiminde daha ileriye gitmek icin:
- Ücretsiz denemeyi indir ve kendi projenizde bu kılavuzdaki kod örneklerini calistirin
- Tam özellik setini kesfetmek icin IronPDF API referansını okuyun
- Filigran, dijital imza ve PDF birlestirme icin nasıl yapılır kılavuzlarına goz atin
- Ekibiniz icin dogru planı bulmak icin lisanslama seçeneklerini inceleyin
- .NET'te PDF manipülasyonu hakkinda daha fazla eğitim icin IronPDF blogunu keşfedin
Sıkça Sorulan Sorular
MVC görünümlerini PDF'ye dönüştürmenin amacı nedir?
MVC görünümlerini PDF'ye dönüştürmek, geliştiricilerin web uygulamalarından doğrudan yazdırılabilir ve kolayca paylaşılabilir belgeler oluşturarak, orijinal görünümün düzenini ve tasarımını korumalarına olanak tanır.
IronPDF nedir?
IronPDF, .NET uygulamaları içinde PDF belgeleri oluşturma, düzenleme ve dönüştürmeyi kolaylaştıran bir .NET kütüphanesidir ve PDF işlevselliğini entegre etmenin kolay bir yolunu sunar.
IronPDF, MVC görünümlerinin PDF'ye dönüştürülmesini nasıl kolaylaştırır?
IronPDF, geliştiricilerin HTML ve MVC görünümlerini doğrudan PDF formatına işleyerek orijinal düzen ve tasarımı korumalarını sağlar, böylece kapsamlı kodlama gereksinimleri olmadan işlem basitleşir.
iTextSharp'ın MVC PDF dönüşümü için kısıtlamaları nelerdir?
iTextSharp'ın XMLWorkerHelper'i modern CSS3, flexbox, grid düzenleri, JavaScript yürütme veya Bootstrap stilini desteklemez. Ayrıca ücretsiz sürümü kullanırsanız, AGPL lisansı uygulamanızı açık kaynak yapmanızı gerektirir.
IronPDF, PDF oluşturmadan önce JavaScript'i render edebilir mi?
Evet, IronPDF render sırasında JavaScript yürütmeyi destekler. EnableJavaScript ile etkinleştirebilir ve dinamik içeriğin tam olarak yüklendiğinden emin olmak için WaitFor.RenderDelay'i kullanarak render gecikmesini kontrol edebilirsiniz.
IronPDF kullanımı için sistem gereksinimleri nelerdir?
IronPDF, .NET 6, .NET 7, .NET 8, .NET Core ve .NET Framework 4.6.2+ sürümlerini destekler. Windows, Linux ve macOS üzerinde çalışır.
MVC görünümlerini dönüştürürken PDF çıktısını özelleştirmek mümkün mü?
Evet, IronPDF kullanarak geliştiriciler, sayfa boyutu, yönlendirme, kenar boşlukları, başlıklar, altbilgiler, güvenlik ayarları ve CSS medya tipi gibi ayarları ayarlayarak PDF çıktısını özelleştirebilirler.
IronPDF, PDF dönüşümü için CSS stilini destekliyor mu?
IronPDF, Chromium render motoru aracılığıyla tam CSS3 stilini destekler, böylece dönüştürülen PDF, orijinal HTML veya MVC görünümünün görsel görünümünü, yazıtipleri, renkler, geçişler ve düzen dahil korur.
IronPDF'in performansı iTextSharp ile nasıl karşılaştırılır?
IronPDF, render için Chromium motorunu kullanır, bu da başlatma gecikmesi ekler, ancak çok daha üstün render doğruluğu sağlar. Yüksek hacimli senaryolar için IronPDF, eşzamansız render'ı destekler ve iş parçacığı güvenli renderer örnekleri ile optimize edilebilir.
IronPDF'in dökümantasyonunu nerede bulabilirim?
IronPDF için tam dökümantasyon, kılavuzlar, öğreticiler ve geliştiricilere entegrasyon konusunda yardımcı olacak API referansları https://ironpdf.com/how-to/ adresinde mevcuttur.




