Altbilgi içeriğine atla
IRONPDF KULLANARAK

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.

View Full Comparison

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.

IronPDF vs iTextSharp MVC Gorunumu PDF Dosyasina C#: Gorsel 1 - IronPDF

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.

IronPDF vs iTextSharp MVC Gorunumu PDF Dosyasina C#: Gorsel 2 - Özellikler

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
SHELL

IronPDF vs iTextSharp MVC Gorunumu PDF Dosyasina C#: Gorsel 3 - iTextSharp Kurulumu

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
$vbLabelText   $csharpLabel

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ı

IronPDF vs iTextSharp MVC Gorunumu PDF Dosyasına C#: Gorsel 4 - PDF Ciktisi

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.

IronPDF vs iTextSharp MVC Gorunumu PDF Dosyasina C#: Gorsel 5 - IronPDF vs iTextSharp MVC Gorunumu PDF'ye

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
SHELL

IronPDF vs iTextSharp MVC Gorunumu PDF Dosyasina C#: Gorsel 6 - Kurulum

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
$vbLabelText   $csharpLabel

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ı

IronPDF vs iTextSharp MVC Gorunumu PDF Dosyasina C#: Gorsel 7 - IronPDF Ciktisi

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

IronPDF vs iTextSharp MVC Gorunumu PDF Dosyasina C#: Gorsel 8 - Çok platform uyumlulugu

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

iTextSharp vs IronPDF Özellik Karşılaştırması
Ö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.

IronPDF vs iTextSharp MVC Gorunumu PDF Dosyasina C#: Gorsel 9 - Lisanslama

Çı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>"
        }
    }
}
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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ı

IronPDF vs iTextSharp MVC Gorunumu PDF Dosyasina C#: Gorsel 10 - Guvenli PDF Ciktisi

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)
$vbLabelText   $csharpLabel

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ı

IronPDF vs iTextSharp MVC Gorunumu PDF Dosyasina C#: Gorsel 11 - Form Ciktisi

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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ı

IronPDF vs iTextSharp MVC Gorunumu PDF Dosyasina C#: Gorsel 12 - JavaScript Calistirma Ciktisi

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:

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.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara