Altbilgi içeriğine atla
IRONPDF KULLANARAK

.NET'te PDF Dosyalari Nasıl Birlestirilir

IronPDF, HTML dizgilerinizi, dosyalarınızı veya URL'lerinizi piksel mükemmelliğinde PDF belgelerine dönüştüren, Chrome tabanlı bir render motoru kullanarak ASP.NET içinde HTML'yi PDF'e dönüştürür ve sadece birkaç satır C# kodu ile.

ASP.NET uygulamanızın talep üzerine faturalar, raporlar veya uyumluluk belgeleri oluşturması gerektiğinde, PDF çıktısının kalitesi önemlidir. Kullanıcılar, CSS stiliniz, özel yazı tipleriniz ve tablo düzenleriniz de dahil olmak üzere orijinal HTML gibi görünen biçimlendirilmiş çıktılar bekler. Zorluk, modern CSS veya JavaScript ağırlıklı içerikler için karmaşık geçici çözümlere ihtiyaç duymadan bu dönüşümü gerçekleştirecek bir kütüphane bulmaktır.

IronPDF, bu zorluk için inşa edilmiş bir C# PDF kütüphanesidir. Chrome tabanlı render motoru, HTML'yi gerçek bir tarayıcı gibi işler ve bu, CSS3 özelliklerinizin, medya sorgularınızın ve JavaScript ile oluşturulan içeriklerinizin nihai belgede doğru bir şekilde görünmesi anlamına gelir. Aşağıdaki bölümler, kurulum, üç ana render yöntemi, form verileri yönetimi, gelişmiş formatlama özellikleri ve kimlik doğrulama desteği de dahil olmak üzere, ASP.NET Core uygulamanıza üretime hazır PDF oluşturma entegre etmek için gereken her adımı ele alır.

ASP.NET Core'da HTML'yi Hızlıca PDF'e Nasıl Dönüştürürsünüz?

HTML'den PDF'e dönüştürmeye başlamanın ASP.NET Core'da sadece birkaç satır kod gerektirir. Öncelikle, NuGet Paket Yöneticisi aracılığıyla IronPDF'i yükleyin:

Install-Package IronPdf

Yüklendikten sonra, ChromePdfRenderer sınıfı tüm render işlemleri için ana giriş noktasıdır. İşte, bir HTML dizgisini ASP.NET Core MVC kontrolörü içinde indirilebilir bir PDF'e nasıl dönüştüreceğinizi gösteren tam bir örnek:

  1. IronPDF aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronPdf
  2. Bu kod parçacığını kopyalayın ve çalıştırın.

    using IronPdf;
    using Microsoft.AspNetCore.Mvc;
    
    // program.cs
    var builder = WebApplication.CreateBuilder(args);
    builder.Services.AddControllersWithViews();
    var app = builder.Build();
    app.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
    app.Run();
    
    // PdfController.cs
    public class PdfController : Controller
    {
        public IActionResult GeneratePdf()
        {
            var renderer = new ChromePdfRenderer();
            string html = @"
                <h1>Invoice #2024-001</h1>
                <p>Generated on: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
                <table>
                    <tr><th>Item</th><th>Price</th></tr>
                    <tr><td>Professional License</td><td>$999</td></tr>
                </table>";
            var pdf = renderer.RenderHtmlAsPdf(html);
            return File(pdf.BinaryData, "application/pdf", "invoice.pdf");
        }
    }
  3. Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronPDF kullanmaya başlayın

    arrow pointer

Oluşturulan PDF Nasıl Görünür?

Numara #2024-001, fatura başlığı, oluşturma tarihi ve $999 için Professional License girişini içeren, Öğeler ve Fiyat sütunları olan bir tablo gösteren basit bir fatura belgesi görüntüleyen PDF görüntüleyici

ChromePdfRenderer sınıfı, tüm karmaşık render işlemleri ile ilgilidir ve HTML yapınızın, CSS stillerinizin ve hatta JavaScript'in doğru bir şekilde renderlanmasını sağlar. Dönüş değeri, @ @-- CODE-592--@@ nesnesidir ve bu nesnenin BinaryData özelliği, bir dosya indirimi olarak doğrudan tarayıcıya aktarılabilir.

Kaynağınız İçin Doğru Renderlama Yöntemini Nasıl Seçersiniz?

IronPDF, her biri belirli bir içerik kaynağı için tasarlanmış üç temel renderlama yöntemi sağlar. Hangi yöntemin senaryonuza uyduğunu anlamak, gereksiz karmaşıklıktan kaçınır ve kontrol kodunuzu temiz tutar.

IronPDF içerik kaynağına göre render yöntemleri
Kaynak Türü Yöntem En İyi İçin
Bellekte HTML dizgisi RenderHtmlAsPdf Veritabanı yönlendirmeli raporlar, şablon faturalar, dinamik içerikler
Diskte HTML dosyası RenderHtmlFileAsPdf Wwwroot'ta statik şablonlar, tasarım ajansının sağladığı düzenler
Canlı web URL'si RenderUrlAsPdf Sayfaları arşivleme, JavaScript renderlarından sonra SPAs yakalama

Dinamik HTML Dizgilerini Nasıl Dönüştürürsünüz?

Veritabanı kökenli raporlar gibi dinamik içeriklerle çalışırken, HTML dizgilerini doğrudan dönüştürmek için RenderHtmlAsPdf kullanın. Bu yöntem, geçerli olan herhangi bir HTML işaretlemesini kabul eder ve tam olarak renderlanmış bir PDF döndürür:

var renderer = new ChromePdfRenderer();
string htmlContent = BuildDynamicHtml(); // your method to generate HTML
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("dynamic-report.pdf");
var renderer = new ChromePdfRenderer();
string htmlContent = BuildDynamicHtml(); // your method to generate HTML
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("dynamic-report.pdf");
Dim renderer As New ChromePdfRenderer()
Dim htmlContent As String = BuildDynamicHtml() ' your method to generate HTML
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("dynamic-report.pdf")
$vbLabelText   $csharpLabel

IronPDF test raporu, 'IronPDF Test Report' yazan mavi bir başlık, yeşil stillendirilmiş paragraf metni ve widgetlar ve araçlar gibi öğeleri içeren ürün bilgileriyle biçimlendirilmiş bir veri tablosunu içeren CSS stili ile render edilmiş HTML içeriğini görüntülüyor

Bu yaklaşım, gerçek zamanlı verilerle doldurulmuş HTML şablonlarından, form gönderimlerinden veya herhangi bir dinamik olarak üretilmiş içerikten PDF belgeleri üretmek için iyi çalışır. Render motoru, özel yazı tipleri, renkler ve tablo düzeni dahil olmak üzere tüm CSS stilini korur. HTML'niz harici stil dosyalarını veya görüntüleri görece yollar kullanarak başvuruyorsa, bu varlıkların doğru çözülmesi için baseUrl'i ikinci argüman olarak iletin.

Diske Kaydedilen Statik HTML Dosyalarını Nasıl Dönüştürürsünüz?

Fiziksel dosyalar olarak depolanan HTML şablonları için, bunları önce belleğe yüklemeden dönüştürmek için RenderHtmlFileAsPdf kullanın. Bu, büyük şablonlar için verimlidir ve dize birleştirmeyi önler.

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report-template.html");
pdf.SaveAs("report.pdf");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report-template.html");
pdf.SaveAs("report.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report-template.html")
pdf.SaveAs("report.pdf")
$vbLabelText   $csharpLabel

Bu yöntem, dosyadaki CSS stil sayfalarına, resimlere ve diğer dış kaynaklara yönelik göreceli yolları otomatik olarak çözer. Tasarım ekibiniz, uygulamanın C# kod tabanı dışında bulunan ayrı HTML şablon dosyalarını bakım ederken iyi çalışır. Bu yöntem CSS baskı medya sorgularını ve özel yazı tiplerini destekler, böylece baskı ortamları için oluşturulmuş şablonlar ek yapılandırma gerektirmeden aslına sadık bir şekilde renderlanır.

Bir Web Sayfası URL'sini PDF'e Nasıl Dönüştürürsünüz?

Canlı bir web sayfasını yakalamak veya bir URL erişilebilir sayfasını PDF olarak render etmek için RenderUrlAsPdf kullanın. Bu yöntem, Chrome motorunu başlatarak URL'ye gider, sayfanın tamamen yüklenmesini bekler ve ardından renderlanan çıktıyı yakalar:

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(1000);
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.SaveAs("webpage.pdf");
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(1000);
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.SaveAs("webpage.pdf");
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(1000)
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen
Dim pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")
pdf.SaveAs("webpage.pdf")
$vbLabelText   $csharpLabel

Wikipedia ana sayfası, tam sayfa düzenini, navigasyon, içerik bölümleri, öne çıkan makale önizlemesi ve Wikipedia logosunu gören bir PDF görüntüleyicide gösteriliyor, biçimlendirme ve görüntülerin korunduğu başarılı bir HTML-PDF dönüşümünü sergiliyor

WaitFor.RenderDelay seçeneği, yükleme sonrası yakalamadan önce render işlemcisinin durmasını bildirir. Bu, istemci tarafı JavaScript tarafından HTML yanıtı geldikten sonra DOM'u oluşturan tek sayfa uygulamaları için değerlidir. EnableJavaScript = true ayarlanması, tam Chrome JavaScript motorunu etkinleştirir, bu nedenle PDF'de grafikler, veri tabloları ve diğer JavaScript ile oluşturulmuş bileşenler tarayıcıda oldukları gibi görünür.

Form Verilerini ve POST İsteklerini Nasıl Ele Alırsınız?

PDF oluşturma öncesinde form verilerini işleme ASP.NET uygulamalarında yaygın bir desendir - sipariş onayları, teslimat belgeleri ve fişler tümüyle bu modeli takip eder. Yaklaşım, gönderilen form verilerini bir modele bağlamak, bu modelden bir HTML dizgisi oluşturmak ve ardından dizgiyi PDF olarak renderlamak şeklindedir:

[HttpPost]
public IActionResult ProcessFormToPdf(OrderModel model)
{
    var renderer = new ChromePdfRenderer();
    string html = $@"
        <h2>Order Confirmation</h2>
        <p>Customer: {model.CustomerName}</p>
        <p>Order Date: {model.OrderDate:yyyy-MM-dd}</p>
        <ul>
            {string.Join("", model.Items.Select(i => $"<li>{i.Name} -- ${i.Price}</li>"))}
        </ul>
        <p><strong>Total: ${model.Total}</strong></p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    string fileName = $"order-{model.OrderId}.pdf";
    return File(pdf.BinaryData, "application/pdf", fileName);
}
[HttpPost]
public IActionResult ProcessFormToPdf(OrderModel model)
{
    var renderer = new ChromePdfRenderer();
    string html = $@"
        <h2>Order Confirmation</h2>
        <p>Customer: {model.CustomerName}</p>
        <p>Order Date: {model.OrderDate:yyyy-MM-dd}</p>
        <ul>
            {string.Join("", model.Items.Select(i => $"<li>{i.Name} -- ${i.Price}</li>"))}
        </ul>
        <p><strong>Total: ${model.Total}</strong></p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    string fileName = $"order-{model.OrderId}.pdf";
    return File(pdf.BinaryData, "application/pdf", fileName);
}
Imports System
Imports System.Linq
Imports Microsoft.AspNetCore.Mvc

<HttpPost>
Public Function ProcessFormToPdf(model As OrderModel) As IActionResult
    Dim renderer = New ChromePdfRenderer()
    Dim html As String = $"
        <h2>Order Confirmation</h2>
        <p>Customer: {model.CustomerName}</p>
        <p>Order Date: {model.OrderDate:yyyy-MM-dd}</p>
        <ul>
            {String.Join("", model.Items.Select(Function(i) $"<li>{i.Name} -- ${i.Price}</li>"))}
        </ul>
        <p><strong>Total: ${model.Total}</strong></p>"
    Dim pdf = renderer.RenderHtmlAsPdf(html)
    Dim fileName As String = $"order-{model.OrderId}.pdf"
    Return File(pdf.BinaryData, "application/pdf", fileName)
End Function
$vbLabelText   $csharpLabel

Form Arayüzü Nasıl Görünür?

'Müşteri Bilgileri' bölümünde ad alanı 'Jane Doe' ve tarih '19/11/2025' bulunan bir sipariş oluşturma sayfası gösteren web formu arayüzü, 'Laptop'u '1300' fiyatıyla gösteren sipariş kalemleri bölümü, toplamı gösteren sipariş özeti ve mavi 'PDF Oluştur' düğmesi

Form Verileri Oluşturulan PDF'de Nasıl Görünür?

PDF viewer showing a clean order confirmation document with header 'Order Confirmation', customer name 'Jane Doe', order date '2025-11-19', itemized list showing laptop purchase for $1300, demonstrating successful form-to-PDF conversion

Daha gelişmiş belge senaryoları için, PDF formları entegre edebilir veya önceden doldurulmuş alanlarla mevcut PDF şablonlarını düzenleyebilirsiniz. Kütüphane ayrıca, oluşturulan herhangi bir belgeye kriptografik olarak doğrulanabilir imzalar eklemenize olanak tanıyan yasal belgeler ve sözleşmeler için dijital imzaları destekler.

Kullanıcı verilerini HTML dizgilerine gömerken önemli bir husus, temizlemedir. Herhangi bir enjeksiyon sorununu önlemek için kullanıcı tarafından sağlanan dizgileri HTML'ye eklemeden önce her zaman kaçırın. Her alan üzerinde basit bir System.Web.HttpUtility.HtmlEncode(model.CustomerName) çağrısı, şablonu render işlemcisine iletmeden önce güvende tutar.

Profesyonel Biçimlendirme, Başlıklar ve Filigranlar Nasıl Eklenir?

Başlıklar, Altbilgiler ve Filigranlar Nasıl Yapılandırılır?

Profesyonel PDF belgeleri genellikle her sayfada başlık ve altbilgiler gerektirir, ayrıca taslak ve gizli belgeler için filigranlar gerektirir. IronPDF, hem RenderingOptions nesnesi üzerindeki özellikler hem de ortaya çıkan PdfDocument üzerindeki @@--CODE-602---@@ yöntemi aracılığıyla her ikisini de ele alır:

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:center'>Annual Report 2024</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 20,
    HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
};
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.ApplyWatermark("<h2 style='color:red;opacity:0.3'>CONFIDENTIAL</h2>",
    30, VerticalAlignment.Middle, HorizontalAlignment.Center);
pdf.SaveAs("report-with-watermark.pdf");
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:center'>Annual Report 2024</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 20,
    HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
};
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.ApplyWatermark("<h2 style='color:red;opacity:0.3'>CONFIDENTIAL</h2>",
    30, VerticalAlignment.Middle, HorizontalAlignment.Center);
pdf.SaveAs("report-with-watermark.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .MaxHeight = 25,
    .HtmlFragment = "<div style='text-align:center'>Annual Report 2024</div>"
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
    .MaxHeight = 20,
    .HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
}
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.ApplyWatermark("<h2 style='color:red;opacity:0.3'>CONFIDENTIAL</h2>", 30, VerticalAlignment.Middle, HorizontalAlignment.Center)
pdf.SaveAs("report-with-watermark.pdf")
$vbLabelText   $csharpLabel

IronPDF test raporu, özel mavi başlık 'IronPDF Test Report', yeşil satır içi metin formatı, ürün bilgilerini içeren bir veri tablosu ve sayfa boyunca çapraz olarak konumlandırılmış kırmızı 'GİZLİ' filigranı taşıyan bir PDF belgesi gösteriyor

Altbilgi HTML'sindeki {page} ve {total-pages} yer tutucular, render anında otomatik olarak değiştirilir, böylece herhangi bir sonrası işleme gerek kalmadan doğru sayfa numaralarını alırsınız. Sayfa numaraları, arka plan görüntüleri veya ön plan kaplamaları ve özel metin veya resim damgaları da ekleyebilirsiniz.

PDF Düzeni Kontrolü için CSS Baskı Medyasını Nasıl Kullanırsınız?

PDF çıktınızın beklentilerle uyuşmasını sağlamak için CSS @media print kurallarını ve PdfCssMediaType.Print ayarını kullanın. IronPDF, sayfa kırılma kontrolü ve özel kağıt boyutları tam destek vermektedir:

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.ViewPortWidth = 1024;
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.MarginLeft = 10;
renderer.RenderingOptions.MarginRight = 10;
string html = @"
    <style>
        @media print {
            .no-print { display: none; }
            body { font-size: 12pt; }
            .page-break { page-break-after: always; }
        }
        @page {
            size: A4;
            margin: 1cm;
        }
    </style>
    <div class='content'>
        <h1>Professional Report</h1>
        <div class='page-break'></div>
        <h2>Section 2</h2>
    </div>";
var pdf = renderer.RenderHtmlAsPdf(html);
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.ViewPortWidth = 1024;
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.MarginLeft = 10;
renderer.RenderingOptions.MarginRight = 10;
string html = @"
    <style>
        @media print {
            .no-print { display: none; }
            body { font-size: 12pt; }
            .page-break { page-break-after: always; }
        }
        @page {
            size: A4;
            margin: 1cm;
        }
    </style>
    <div class='content'>
        <h1>Professional Report</h1>
        <div class='page-break'></div>
        <h2>Section 2</h2>
    </div>";
var pdf = renderer.RenderHtmlAsPdf(html);
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
renderer.RenderingOptions.ViewPortWidth = 1024
renderer.RenderingOptions.MarginTop = 10
renderer.RenderingOptions.MarginBottom = 10
renderer.RenderingOptions.MarginLeft = 10
renderer.RenderingOptions.MarginRight = 10

Dim html As String = "
    <style>
        @media print {
            .no-print { display: none; }
            body { font-size: 12pt; }
            .page-break { page-break-after: always; }
        }
        @page {
            size: A4;
            margin: 1cm;
        }
    </style>
    <div class='content'>
        <h1>Professional Report</h1>
        <div class='page-break'></div>
        <h2>Section 2</h2>
    </div>"

Dim pdf = renderer.RenderHtmlAsPdf(html)
$vbLabelText   $csharpLabel

76% yakınlaştırmada iki sayfalık profesyonel bir rapor gösteren PDF belge görüntüleyici: 1. sayfada 'Profesyonel Rapor' başlığı ve 2. sayfada 'Kısım 2' başlığı, uygun sayfa kesimleri ve CSS formatlaması ile temiz bir düzen gösteriyor

Baskı CSS'i kullanmak, gereksiz web öğelerinin (navigasyon menüleri veya etkileşimli düğmeler gibi) gizlenirken PDF belgelerinizin profesyonel biçimlendirmeyi korumasını sağlar. CssMediaType = PdfCssMediaType.Print ayarı, render işlemcisinden ekran tarzları yerine @media print kurallarınızı uygulamasını ister, bu genellikle arka plan dekorasyonlarını kaldırır ve yazı tiplerini baskı çıktısı için ayarlar. Sayfa başına özel kenar boşlukları yapılandırabilir ve sayfa yönlendirme ve döndürme işlevlerini kontrol edebilirsiniz, geniş format veya döndürülmüş raporlar için.

W3C CSS Paged Media spesifikasyonu, @page, page-break-before ve widows gibi özelliklerin sayfalı çıktıda nasıl davranması gerektiğini tanımlar. IronPDF'in Chrome motoru bu spesifikasyonu yakından takip eder, böylece CSS standardına göre yazılmış stiller, manuel ayarlar gerektirmeden PDF'ye doğru bir şekilde çevrilir.

Korumalı Sayfalar için Kimlik Doğrulama Nasıl Yapılır?

Güvenli uygulamalar için, IronPDF, çerezler, HTTP istek başlıkları ve ağ kimlik bilgileri dahil olmak üzere çeşitli kimlik doğrulama yöntemlerini destekler. Bu, oturum açılmış bir oturum veya temel kimlik doğrulama gerektiren sayfaları renderlemenize olanak tanır:

var renderer = new ChromePdfRenderer();
renderer.RequestContext.Cookies.Add(new Cookie
{
    Name = "SessionId",
    Value = "your-session-token",
    Domain = "example.com"
});
renderer.ChromePdfRenderOptions.HttpLoginCredentials = new HttpLoginCredentials
{
    Username = "user",
    Password = "password"
};
var pdf = renderer.RenderUrlAsPdf("https://app.example.com/protected/report");
var renderer = new ChromePdfRenderer();
renderer.RequestContext.Cookies.Add(new Cookie
{
    Name = "SessionId",
    Value = "your-session-token",
    Domain = "example.com"
});
renderer.ChromePdfRenderOptions.HttpLoginCredentials = new HttpLoginCredentials
{
    Username = "user",
    Password = "password"
};
var pdf = renderer.RenderUrlAsPdf("https://app.example.com/protected/report");
Dim renderer = New ChromePdfRenderer()
renderer.RequestContext.Cookies.Add(New Cookie With {
    .Name = "SessionId",
    .Value = "your-session-token",
    .Domain = "example.com"
})
renderer.ChromePdfRenderOptions.HttpLoginCredentials = New HttpLoginCredentials With {
    .Username = "user",
    .Password = "password"
}
Dim pdf = renderer.RenderUrlAsPdf("https://app.example.com/protected/report")
$vbLabelText   $csharpLabel

Sonuç PDF'ini, yazdırma, kopyalama veya düzenleme gibi eylemleri kısıtlayan bir sahip şifresi ve kullanıcı şifresi ile şifreleyebilirsiniz. Kimlik doğrulama temelli renderlamayı PDF seviyesinde izinler ile birleştirmek, bir belgeyi kimin oluşturabileceğini ve alıcıların belgeyi aldıktan sonra onunla neler yapabileceklerini kontrol etmenizi sağlar.

Kurumsal ortamlar için, web istek işleyicileri içinde PDF oluştururken async renderleme API'sini kullanmayı düşünün. Async render, Chrome motoru belgeyi işlerken, ASP.NET iş parçacığı havuzunu serbest tutar ve bu, eşzamanlı yük altında çıktı artışını iyileştirir. Kütüphane ayrıca, batch belge üretim senaryoları için çoklu iş parçacığı renderlamasını da destekler.

HTML'den PDF'e İçin Neden Chrome Render Motoru Önemli?

Çoğu PDF üretim kütüphanesi, özel bir motor kullanarak HTML'yi kendileri işleyerek çalışır. Bu, sadece sınırlı bir CSS özellikleri seti destekledikleri, JavaScript çalıştırmadıkları ve modern düzen teknikleri ile, CSS Grid veya Flexbox gibi, başa çıkmakta zorlandıkları anlamına gelir. IronPDF, Google Chrome tarayıcısını güçlendiren aynı teknolojiyi - Chrome motorunu - gömerek farklı bir yaklaşım izler.

Pratik sonuç olarak, Chrome'da doğru bir şekilde görüntülenen herhangi bir HTML sayfası, IronPDF aracılığıyla doğru bir şekilde PDF olarak renderlanacaktır. Bu, PDF çıktısının beklenen görünümden farklılaştığı bir sınıf hatayı ortadan kaldırır, çünkü render motoru CSS'yi, geliştiricinin tasarım sırasında kullandığı tarayıcıdan farklı bir şekilde yorumlar.

MDN Web Docs'un CSS Paged Media için referansı ve Microsoft'un ASP.NET Core belgeleri, IronPDF'in Chrome tabanlı temeli üzerinden desteklediği özellikleri her iki kaynakta da tanımlar. Zaten standart HTML, CSS ve JavaScript'e aşina olan geliştiriciler, ayrı bir belge düzenleme dili öğrenmeksizin bu bilgiyi doğrudan PDF üretimine uygulayabilir.

IronPDF'in RenderingOptions, kâğıt boyutu, kenar boşlukları, JavaScript yürütülmesi ve renderlama gecikmeleri için kontroller sunar. Kütüphane, UTF-8 metni ve uluslararası karakter setlerini, Google Fonts veya yerel dosyalar aracılığıyla referans alınan web yazı tiplerini işler ve hatta Markdown belgelerini PDF'e dönüştürebilir. Arşivleme veya erişilebilirlik uyumluluğu gereksinimleri için, PDF/A ve PDF/UA çıktı formatlarını destekler. Bu kütüphane Windows, Linux ve macOS üzerinde çalışır ve Azure ve AWS'ye ek yapılandırma gerektirmeden dağıtılır.

Sonraki Adımlarınız Neler?

ASP.NET C# ile HTML'den PDF'e dönüştürme, uygulamanıza güvenilir, tarayıcı doğruluğunda bir belge üretim boru hattı sağlar. Üç render yöntemi - HTML dizgisi, HTML dosyası ve URL - pratikte karşılaşacağınız içerik kaynaklarının tam aralığını kapsar. Başlıklar, altbilgiler, filigranlar ve baskı CSS'i gibi gelişmiş özellikler, PDF'yi manuel olarak işlemeye gerek kalmadan profesyonel çıktılar sağlamanıza olanak tanır.

Bir sonraki adım, NuGet paketini yüklemek ve bu kılavuzun ilk bölümünden hızlı başlangıç örneğini çalıştırmaktır. Buradan, belge yapısının daha derinlemesine kapsanması için tam C# PDF eğiticiye veya mevcut PDF'lerden içerik birleştirme, ayırma, açıklama ve çıkarma işlemlerini öğrenmek için PDF düzenleme kılavuzunu inceleyin.

Projeniz Blazor'u hedefliyorsa, Blazor PDF eğitici sunucu tarafı ve WebAssembly entegrasyonunu anlatır. MVC projeleri için, MVC Core PDF rehberi ve Razor Pages rehberi, .cshtml görünümleriyle şablon tabanlı render işlemine değinir. Hata ayıklama ve performans ayarlama için IronPDF, yüksek hacimli belge üretim iş akışlarında darboğazları tanımlamaya yardımcı olan özel günlükleme ve performans rehberliği sağlar.

Ücretsiz bir deneme başlatın ve lisansa karar vermeden önce kütüphanenin her özelliğini kendi projenizde test edin. Üretim dağıtımları için, bireysel geliştiriciler, ekipler ve kurumsal yeniden dağıtım senaryoları için lisans seçenekleri mevcuttur.

Sıkça Sorulan Sorular

HTML'i ASP.NET Core'da nasıl PDF'ye dönüştürebilirim?

NuGet aracılığıyla IronPDF yükleyin, bir ChromePdfRenderer örneği oluşturun ve HTML dizgenizle RenderHtmlAsPdf'i çağırın. Renderleyici, ikili verilerini tarayıcıya aktarabileceğiniz bir PdfDocument döndürür.

IronPDF'yi HTML'den PDF'ye dönüştürme için uygun kılan nedir?

IronPDF, Chrome render motorunu içselleştirdiğinden, Chrome'da doğru bir şekilde görüntülenen herhangi bir HTML sayfası PDF olarak da doğru şekilde renderlenir. Bu durum CSS3, JavaScript tarafından render edilen içerikler, web yazı tipleri ve duyarlı yerleşimler için geçerlidir.

ASP.NET'te IronPDF kullanarak fatura ve raporlar oluşturmak mümkün mü?

Evet. Veri modelinizden bir HTML dizge oluşturun, bunu RenderHtmlAsPdf'e geçirin ve dosya indirmesi olarak İkili Verileri geri döndürün. IronPDF, çıktıdaki tablo biçimlendirmesini, özel yazı tiplerini ve CSS stilini korur.

IronPDF, CSS baskı medya sorgularını destekliyor mu?

Evet. @media baskı kurallarını etkinleştirmek, gezinme öğelerini gizlemek ve baskı için optimize edilmiş tipografiyi uygulamak için RenderingOptions.CssMediaType = PdfCssMediaType.Print ayarlayın.

IronPDF, JavaScript ile oluşturulan içerikleri işleyebilir mi?

Evet. JavaScript motorunun DOM'u kurabilmesi için sayfa yüklendikten sonra duraklamak ve ardından PDF yakalanmadan önce WaitFor.RenderDelay yöntemini kullanarak RenderingOptions.EnableJavaScript = true ayarlayın.

IronPDF, korumalı sayfaların kimliğini doğrulamayı nasıl ele alır?

IronPDF, RequestContext.Cookies ve ChromePdfRenderOptions.HttpLoginCredentials özellikleri aracılığıyla oturum çerezlerini, HTTP başlıklarını ve temel kimlik doğrulama kimlik bilgilerini destekler.

IronPDF hangi platformları destekler?

IronPDF, Windows, Linux ve macOS'ta çalışır ve Azure ve AWS'ye dağıtılabilir. .NET 6, .NET 7, .NET 8 ve .NET Framework 4.6.2 ve üzerini hedefler.

IronPDF, arşivleme için PDF/A çıktısını destekliyor mu?

Evet. IronPDF, uzun süreli arşivleme için PDF/A uyumluluğu ve erişilebilirlik için PDF/UA desteği sağlar. Bu çıktı modları SaveAsPdfA ve SaveAsPdfUA yöntemleriyle yapılandırılabilir.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

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