Altbilgi içeriğine atla
IRONPDF KULLANARAK

ASP.NET'te HTML'i PDF'ye Dönüştürme: IronPDF

IronPDF, CSS stili ve JavaScript işlevselliğini koruyan Chrome tabanlı bir işleme motoru kullanarak ASP.NET HTML'yi PDF'ye dönüştürür. Bu kılavuz, ASP.NET Core uygulamalarında HTML dizelerini, görünümleri ve URL'lerini profesyonel PDF belgelerine dönüştürmenin etkili yöntemlerini gösterir.

Dinamik ASP.NET HTML'yi PDF belgelere dönüştürmek, modern web uygulamalarında temel bir gerekliliktir. Fatura oluşturuyor, rapor hazırlıyor veya indirilebilir PDF dosyaları üretiyor olun, HTML içeriğini profesyonel PDF belgelerine dönüştürmek, kullanıcı deneyimlerini düzgün bir şekilde sunmak için esastır.

IronPDF, güvenilir bir Chrome tabanlı işleme motoru sağlayarak ve HTML biçimlendirmesinizi, CSS styling ve JavaScript işlevselliğini son PDF belgelerinde koruyarak bu ASP HTML'den PDF'ye dönüşüm sürecini basitleştirir. Bu kılavuz, IronPDF kutuphanesi kullanarak ve piksel mükemmel sonuçlar için Chrome işleme motorunu içeren ASP.NET Core uygulamalarında HTML'yi PDF'ye dönüştürmenin etkili yöntemlerini anlatır.

IronPDF C# PDF Library ana sayfa afişi, HTML'den PDF'e dönüştürme, PDF düzenleme yetenekleri ve indirme ve lisanslama düğmeleriyle dağıtım seçenekleri dahil olmak üzere anahtar özellikleri gösteriyor

Geliştiriciler Neden HTML'den PDF'ye Dönüşüme İhtiyaç Duyar?

Kullanıcıların PDF dosyası olarak indirmesi, paylaşması veya arşivlemesi gereken dinamik HTML içeriği genellikle ASP.NET Core uygulamalarında üretilir. HTML'den PDF'ye dönüştürme, yalnızca web sayfalarını kaydetmek veya ekran görüntüleri almak yerine birkaç önemli avantaj sunar.

PDF belgeleri, tüm cihazlar ve platformlar arasında tutarlı bir biçimlendirme sağlar, fatura belgeleriniz Windows, Mac veya mobil cihazlarda görüntülenirken aynı görünümünü korur. Dijital imza gerektiren belgeler, güvenlik kısıtlamaları veya profesyonel baskı için idealdir. Sunucu tarafı PDF dönüştürme, kullanıcıların belirli bir yazılım kurmasına gerek bırakmaz ve nihai çıktının üzerinde daha iyi kontrol sağlar.

Yaygın kullanım durumları arasında gösterge panelinden elde edilen verilerle finansal raporlar oluşturmak, sipariş bilgileriyle indirilebilir faturalar oluşturmak, QR kodlu biletler ve geçişler üretmek ve form gönderimlerini kalıcı kayıtlara dönüştürmek bulunur. Sunucu üzerinde ASP HTML'den PDF'ye dönüştürme yaparak, kullanıcının tarayıcısı veya cihazının yeteneklerinden bağımsız olarak tutarlı sonuçlar elde edersiniz. IronPDF, karmaşık düzenlerde başarılıdır ve JavaScript ağırlıklı içeriği sorunsuz bir şekilde işler. Bu sürecin altındaki PDF belirtimi, ISO standart organı tarafından sürdürülmektedir ve PDF'yi platformlar arası dağıtım için en taşınabilir belge formatı yapar.

IronPDF özellik genel bakışı, PDF oluşturma, PDF dönüştürme, PDF düzenleme ve PDF'leri imzalama ve güvenceye alma gibi dört ana kategoriyi gösteriyor ve her bölüm altında detaylı işlev listeleri mevcut.

IronPDF'yi Bir ASP.NET Projesine Nasıl Yüklerim?

ASP.NET Core projenizde IronPDF ile başlamak oldukça basittir. Kütuphane, tüm modern ASP.NET Core uygulamalarıyla uyumlu hale getirerek .NET 6, 8 ve 10'u destekler. Belirli platform gereksinimleri için Windows uyumluluk rehberi veya Linux kurulum talimatlarına bakın.

Projenize IronPDF eklemenin en hızlı yolu NuGet Paket Yöneticisi üzerinden olur. Çözüm Gezgini'nde projenize sağ tıklayın, "NuGet Paketlerini Yönet" seçeneğine gidin ve IronPdf'yi arayın. En son sürüme Yükle'ye tıklayın. Ayrıntılı talimatlar için IronPDF kurulum kılavuzuna bakın.

Paket Yöneticisi Konsolu'nu kullanarak kurulum yapın:

Install-Package IronPdf
Install-Package IronPdf
SHELL

.NET CLI kullanarak:

dotnet add package IronPdf
dotnet add package IronPdf
SHELL

IronPDF NuGet paketinin kurulum sürecini ve birden fazla bağımlılık indirimi gösteren Paket Yöneticisi Konsolu

Kurulumdan Sonra IronPDF'yi Nasıl Yapılandırırsınız?

Kurulum tamamlandıktan sonra, PDF oluşturma ile çalışacağınız herhangi bir C# dosyasına using IronPdf; yönergesini ekleyin. Bu eklemeyle, ChromePdfRenderer sınıfına ve tüm render yapılandırma seçeneklerine erişim sağlarsınız.

Çoğu ASP.NET Core uygulaması için IronPDF kurulumdan hemen sonra çalışır. Ancak, belirli barındırma ortamınız - Windows, Linux, Docker veya bulut - için davranışı ince ayar yapmak üzere Program.cs dosyanıza genel seçenekler ayarlayabilirsiniz:

using IronPdf;

// Optional global configuration (place in Program.cs)
Installation.TempFolderPath = @"C:\Temp\IronPdf\";
Installation.LinuxAndDockerDependenciesAutoConfig = true;

// Enable logging for debugging PDF rendering issues
Installation.LoggingMode = IronPdf.Logging.LoggingMode.All;
Installation.LogFilePath = "IronPdfLog.log";

// Required for Azure App Service deployments
Installation.AzureQuickDeployment = true;
using IronPdf;

// Optional global configuration (place in Program.cs)
Installation.TempFolderPath = @"C:\Temp\IronPdf\";
Installation.LinuxAndDockerDependenciesAutoConfig = true;

// Enable logging for debugging PDF rendering issues
Installation.LoggingMode = IronPdf.Logging.LoggingMode.All;
Installation.LogFilePath = "IronPdfLog.log";

// Required for Azure App Service deployments
Installation.AzureQuickDeployment = true;
Imports IronPdf

' Optional global configuration
Installation.TempFolderPath = "C:\Temp\IronPdf\"
Installation.LinuxAndDockerDependenciesAutoConfig = True

' Enable logging for debugging PDF rendering issues
Installation.LoggingMode = IronPdf.Logging.LoggingMode.All
Installation.LogFilePath = "IronPdfLog.log"

' Required for Azure App Service deployments
Installation.AzureQuickDeployment = True
$vbLabelText   $csharpLabel

Azure dağıtımları için, en iyi performans için AzureQuickDeployment etkinleştirin. Üretim ortamlarında, PDF oluşturma işlemlerini izlemek ve işleme hatalarını erken yakalamak için özel günlük kaydı uygulayın.

IronPDF çapraz platform destek diyagramı .NET sürümleri, işletim sistemleri, bulut platformları ve geliştirme ortamlarıyla uyumluluğu gösteriyor

HTML Dizeleri PDF'ye Nasıl Dönüştürülür?

IronPDF'deki en temel işlem, HTML dizelerini doğrudan PDF belgelerine dönüştürmektir. Bu yaklaşım, ASP.NET uygulamanızda dinamik olarak HTML içeriği oluştururken veya HTML şablonlarıyla çalışırken idealdir. RenderHtmlAsPdf yöntemi, değişkenlerden, string oluşturuculardan veya şablon motorlarından HTML'yi dönüştürmek için esneklik sağlar.

// Create a PDF renderer instance
var renderer = new ChromePdfRenderer();

// Configure rendering options for print-quality output
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.RenderDelay = 500; // milliseconds to wait before capture

// Convert an HTML string to a PDF document
var pdf = renderer.RenderHtmlAsPdf("<h1>Sales Report</h1><p>Generated on: " + DateTime.Now + "</p>");

// Save the PDF to disk
pdf.SaveAs("report.pdf");

// Or get binary data to return as a file download
var pdfBytes = pdf.BinaryData;
// Create a PDF renderer instance
var renderer = new ChromePdfRenderer();

// Configure rendering options for print-quality output
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.RenderDelay = 500; // milliseconds to wait before capture

// Convert an HTML string to a PDF document
var pdf = renderer.RenderHtmlAsPdf("<h1>Sales Report</h1><p>Generated on: " + DateTime.Now + "</p>");

// Save the PDF to disk
pdf.SaveAs("report.pdf");

// Or get binary data to return as a file download
var pdfBytes = pdf.BinaryData;
' Create a PDF renderer instance
Dim renderer = New ChromePdfRenderer()

' Configure rendering options for print-quality output
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
renderer.RenderingOptions.RenderDelay = 500 ' milliseconds to wait before capture

' Convert an HTML string to a PDF document
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Sales Report</h1><p>Generated on: " & DateTime.Now & "</p>")

' Save the PDF to disk
pdf.SaveAs("report.pdf")

' Or get binary data to return as a file download
Dim pdfBytes = pdf.BinaryData
$vbLabelText   $csharpLabel

Bu kod parçası, HTML'inizi işlemek için Chromium motorunu kullanan bir ChromePdfRenderer örneği oluşturur. RenderHtmlAsPdf yöntemi herhangi bir geçerli HTML dizgisini kabul eder ve diske kaydedebileceğiniz veya tarayıcıya akıtabileceğiniz bir PdfDocument nesnesi döndürür. asenkron PDF oluşturma için, çağrıyı Task.Run içine sararak istek dizilerini bloke etmekten kaçının.

PDF Çıktısı Nasıl Görünür?

1/11/2025 11:51:30 pm tarihinde oluşturulan başlık ve zaman damgasına sahip temel Satış Raporu'nu gösteren bir PDF görüntüleyici ekran görüntüsü

CSS Stili ve Görseller Nasıl Eklenir?

IronPDF, HTML'den PDF'ye dönüştürürken CSS stilini tamamen destekler ve çeşitli kaynaklardan gelen görselleri gömer. İşleyici, satır içi stilleri, harici stil dosyalarını, web yazı tiplerini, SVG grafiklerini ve base64 kodlu görüntüleri işler.

var html = @"
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
        .highlight { background-color: #f1c40f; padding: 5px; }
        .data-table { width: 100%; border-collapse: collapse; }
        .data-table td { border: 1px solid #ddd; padding: 8px; }
    </style>
    <h1>Monthly Report</h1>
    <p>This document includes <span class='highlight'>highlighted text</span> and table data.</p>
    <table class='data-table'>
        <tr><td>Product</td><td>Sales</td></tr>
        <tr><td>Widget A</td><td>$1,234</td></tr>
    </table>";

var renderer = new ChromePdfRenderer();

// Set base URL so relative resource paths resolve correctly
renderer.RenderingOptions.BaseUrl = new Uri("https://yourdomain.com/");
renderer.RenderingOptions.EnableJavaScript = true;

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("styled-report.pdf");
var html = @"
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
        .highlight { background-color: #f1c40f; padding: 5px; }
        .data-table { width: 100%; border-collapse: collapse; }
        .data-table td { border: 1px solid #ddd; padding: 8px; }
    </style>
    <h1>Monthly Report</h1>
    <p>This document includes <span class='highlight'>highlighted text</span> and table data.</p>
    <table class='data-table'>
        <tr><td>Product</td><td>Sales</td></tr>
        <tr><td>Widget A</td><td>$1,234</td></tr>
    </table>";

var renderer = new ChromePdfRenderer();

// Set base URL so relative resource paths resolve correctly
renderer.RenderingOptions.BaseUrl = new Uri("https://yourdomain.com/");
renderer.RenderingOptions.EnableJavaScript = true;

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("styled-report.pdf");
Dim html As String = "
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
        .highlight { background-color: #f1c40f; padding: 5px; }
        .data-table { width: 100%; border-collapse: collapse; }
        .data-table td { border: 1px solid #ddd; padding: 8px; }
    </style>
    <h1>Monthly Report</h1>
    <p>This document includes <span class='highlight'>highlighted text</span> and table data.</p>
    <table class='data-table'>
        <tr><td>Product</td><td>Sales</td></tr>
        <tr><td>Widget A</td><td>$1,234</td></tr>
    </table>"

Dim renderer As New ChromePdfRenderer()

' Set base URL so relative resource paths resolve correctly
renderer.RenderingOptions.BaseUrl = New Uri("https://yourdomain.com/")
renderer.RenderingOptions.EnableJavaScript = True

Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("styled-report.pdf")
$vbLabelText   $csharpLabel

İşleyici, flexbox ve grid düzenleri gibi CSS3 özelliklerini tam sadakatle işler. Karmaşık düzenler için, Bootstrap uyumluluk rehberliği veya CSS page-break-before kuralları kullanarak özel sayfa kırılmaları uygulayın.

ASP.NET Core Görünümleri PDF'ye Nasıl Dönüştürülür?

Mevcut şablonlara dayalı raporlar oluşturmak için tüm ASP.NET Core görünümlerini PDF'ye dönüştürmek yaygın bir gerekliliktir. IronPDF, Razor görünümlerini, <a hreffuck"ASPX" target="_blank">https://ironpdf.com/how-to/aspx-to-pdf/">ASPX sayfalarını ve hatta Blazor bileşenlerini destekler.

Denetleyici Görünümleri Nasıl Dönüştürülür?

Denetleyicinizde bir görünümü HTML dizesine işleyin ve ardından IronPDF'ye aktarın. Bu yaklaşım, hem MVC Core hem de MVC Framework uygulamalarıyla çalışır:

[HttpGet]
public async Task<IActionResult> DownloadPdf()
{
    var invoiceModel = new InvoiceModel
    {
        InvoiceNumber = 12345,
        Date = DateTime.Now,
        CustomerName = "Acme Corporation",
        Items = new List<InvoiceItem>
        {
            new InvoiceItem { Description = "Service", Quantity = 1, Price = 100.0 },
            new InvoiceItem { Description = "Support", Quantity = 2, Price = 50.0 }
        },
        Total = 200.0
    };

    // Render the Razor view to an HTML string first
    var htmlContent = await RenderViewToString("Invoice", invoiceModel);

    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter;
    renderer.RenderingOptions.PrintHtmlBackgrounds = true;

    // Add a text header with the invoice number
    renderer.RenderingOptions.TextHeader.CenterText = "Invoice #" + invoiceModel.InvoiceNumber;
    renderer.RenderingOptions.TextHeader.DrawDividerLine = true;

    var pdf = renderer.RenderHtmlAsPdf(htmlContent);

    // Restrict copying while allowing printing
    pdf.SecuritySettings.AllowUserPrinting = true;
    pdf.SecuritySettings.AllowUserCopyPasteContent = false;

    var fileName = $"invoice_{invoiceModel.InvoiceNumber}_{DateTime.Now:yyyyMMdd}.pdf";
    return File(pdf.BinaryData, "application/pdf", fileName);
}
[HttpGet]
public async Task<IActionResult> DownloadPdf()
{
    var invoiceModel = new InvoiceModel
    {
        InvoiceNumber = 12345,
        Date = DateTime.Now,
        CustomerName = "Acme Corporation",
        Items = new List<InvoiceItem>
        {
            new InvoiceItem { Description = "Service", Quantity = 1, Price = 100.0 },
            new InvoiceItem { Description = "Support", Quantity = 2, Price = 50.0 }
        },
        Total = 200.0
    };

    // Render the Razor view to an HTML string first
    var htmlContent = await RenderViewToString("Invoice", invoiceModel);

    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter;
    renderer.RenderingOptions.PrintHtmlBackgrounds = true;

    // Add a text header with the invoice number
    renderer.RenderingOptions.TextHeader.CenterText = "Invoice #" + invoiceModel.InvoiceNumber;
    renderer.RenderingOptions.TextHeader.DrawDividerLine = true;

    var pdf = renderer.RenderHtmlAsPdf(htmlContent);

    // Restrict copying while allowing printing
    pdf.SecuritySettings.AllowUserPrinting = true;
    pdf.SecuritySettings.AllowUserCopyPasteContent = false;

    var fileName = $"invoice_{invoiceModel.InvoiceNumber}_{DateTime.Now:yyyyMMdd}.pdf";
    return File(pdf.BinaryData, "application/pdf", fileName);
}
Imports System
Imports System.Collections.Generic
Imports System.Threading.Tasks
Imports Microsoft.AspNetCore.Mvc

<HttpGet>
Public Async Function DownloadPdf() As Task(Of IActionResult)
    Dim invoiceModel = New InvoiceModel With {
        .InvoiceNumber = 12345,
        .Date = DateTime.Now,
        .CustomerName = "Acme Corporation",
        .Items = New List(Of InvoiceItem) From {
            New InvoiceItem With {.Description = "Service", .Quantity = 1, .Price = 100.0},
            New InvoiceItem With {.Description = "Support", .Quantity = 2, .Price = 50.0}
        },
        .Total = 200.0
    }

    ' Render the Razor view to an HTML string first
    Dim htmlContent = Await RenderViewToString("Invoice", invoiceModel)

    Dim renderer = New ChromePdfRenderer()
    renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter
    renderer.RenderingOptions.PrintHtmlBackgrounds = True

    ' Add a text header with the invoice number
    renderer.RenderingOptions.TextHeader.CenterText = "Invoice #" & invoiceModel.InvoiceNumber
    renderer.RenderingOptions.TextHeader.DrawDividerLine = True

    Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)

    ' Restrict copying while allowing printing
    pdf.SecuritySettings.AllowUserPrinting = True
    pdf.SecuritySettings.AllowUserCopyPasteContent = False

    Dim fileName = $"invoice_{invoiceModel.InvoiceNumber}_{DateTime.Now:yyyyMMdd}.pdf"
    Return File(pdf.BinaryData, "application/pdf", fileName)
End Function
$vbLabelText   $csharpLabel

Bu yaklaşım, Razor görünümünüzü önce HTML'ye işler, ardından PDF'ye dönüştürür ve dosyayı tarayıcıya döner. Tam bir ASP.NET boru hattı olmadan kafa dışı dönüşüm senaryoları için Razor.Templating.Core kullanmayı düşünün.

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

PDF viewer showing a rendered invoice #12345 dated 2/11/2025 for Acme Corporation with a single service item totaling $100.00

Bir URL Nasıl PDF'ye Dönüştürülür?

Mevcut web sayfaları için, IronPDF herhangi bir URL'yi doğrudan bir PDF dosyasına dönüştürebilir. Bu yöntem, kimlik doğrulamalı istekler için çerezler ve özel HTTP üstbilgilerini destekler.

[HttpGet]
public IActionResult GeneratePdfFromUrl()
{
    var renderer = new ChromePdfRenderer();

    // Allow time for dynamic content to load before capture
    renderer.RenderingOptions.WaitFor.RenderDelay = 2000;
    renderer.RenderingOptions.ViewportWidth = 1920;

    // Pass authorization headers if the page requires authentication
    renderer.RenderingOptions.HttpHeaders.Add("Authorization", "Bearer your-token");

    var pdf = renderer.RenderUrlAsPdf("https://yourwebsite.com/report");

    // Compress embedded images to reduce file size
    pdf.CompressImages(90);

    return File(pdf.BinaryData, "application/pdf", "webpage.pdf");
}
[HttpGet]
public IActionResult GeneratePdfFromUrl()
{
    var renderer = new ChromePdfRenderer();

    // Allow time for dynamic content to load before capture
    renderer.RenderingOptions.WaitFor.RenderDelay = 2000;
    renderer.RenderingOptions.ViewportWidth = 1920;

    // Pass authorization headers if the page requires authentication
    renderer.RenderingOptions.HttpHeaders.Add("Authorization", "Bearer your-token");

    var pdf = renderer.RenderUrlAsPdf("https://yourwebsite.com/report");

    // Compress embedded images to reduce file size
    pdf.CompressImages(90);

    return File(pdf.BinaryData, "application/pdf", "webpage.pdf");
}
Imports Microsoft.AspNetCore.Mvc

<HttpGet>
Public Function GeneratePdfFromUrl() As IActionResult
    Dim renderer = New ChromePdfRenderer()

    ' Allow time for dynamic content to load before capture
    renderer.RenderingOptions.WaitFor.RenderDelay = 2000
    renderer.RenderingOptions.ViewportWidth = 1920

    ' Pass authorization headers if the page requires authentication
    renderer.RenderingOptions.HttpHeaders.Add("Authorization", "Bearer your-token")

    Dim pdf = renderer.RenderUrlAsPdf("https://yourwebsite.com/report")

    ' Compress embedded images to reduce file size
    pdf.CompressImages(90)

    Return File(pdf.BinaryData, "application/pdf", "webpage.pdf")
End Function
$vbLabelText   $csharpLabel

Bu yöntem, stil dosyaları, komut dosyaları ve görüntüler dahil olmak üzere tüm dış kaynakları işleyebilir. JavaScript ağırlıklı siteler için işleme gecikmelerini ayarlayın veya sadece belirli DOM olayları tetiklendikten sonra yakalamayı başlatmak için WaitFor koşullarını kullanın.

URL Dönüşümünden Oluşan Sonuç Nedir?

IronPDF kütüphane ana sayfası, C# PDF dönüşümü için özellikler gösteriyor, HTML'den PDF'e dönüştürme yetenekleri, fiyatlandırma seçenekleri ve .NET geliştiricileri için kod örnekleri sunuyor.

PDF Çıktısını Nasıl Özelleştirirsiniz?

IronPDF, HTML'den nasıl PDF belgeleri oluşturulduğunu kontrol etmek için kapsamlı özelleştirme seçenekleri sunar. Bu ayarlar, sayfa düzeni ve biçimlendirme için belirli gereksinimlere uyan profesyonel dosyalar oluşturmanıza yardımcı olur. Mevcut işleme seçeneklerinin tam yelpazesini keşfedin.

Sayfa Boyutu ve Kenar Boşluklarını Nasıl Ayarlarsınız?

Profesyonel belge düzenleri için kağıt boyutunu ve kenar boşluklarını hassas bir şekilde kontrol edin.

var renderer = new ChromePdfRenderer();

// Set standard paper size and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;

// Set page margins in millimeters
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Define a custom paper size in inches when needed
renderer.RenderingOptions.SetCustomPaperSizeInInches(8.5, 11);

// Use print CSS media type for print-optimized output
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
var renderer = new ChromePdfRenderer();

// Set standard paper size and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;

// Set page margins in millimeters
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Define a custom paper size in inches when needed
renderer.RenderingOptions.SetCustomPaperSizeInInches(8.5, 11);

// Use print CSS media type for print-optimized output
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
Dim renderer = New ChromePdfRenderer()

' Set standard paper size and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait

' Set page margins in millimeters
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20

' Define a custom paper size in inches when needed
renderer.RenderingOptions.SetCustomPaperSizeInInches(8.5, 11)

' Use print CSS media type for print-optimized output
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
renderer.RenderingOptions.PrintHtmlBackgrounds = True
$vbLabelText   $csharpLabel

Standart kağıt boyutlarından birini seçebilir veya özel boyutlar tanımlayabilir, dikey veya yatay yönlendirmeyi ayarlayabilir ve kenar boşluklarını tasarım gereksinimlerinize uygun olarak ayarlayabilirsiniz. Yönlendirme ihtiyaçları için, sayfa döndürme seçeneklerini keşfedin.

Başlık ve Altbilgiler Nasıl Eklenir?

Tutarlı başlık ve altbilgiler eklemek PDF belgelerinizin profesyonel görünümünü artırır. IronPDF, düz metin başlıklarını ve gömülü görüntüler ve CSS ile tam HTML başlıklarını destekler:

// Simple text header and footer with dynamic placeholders
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
    CenterText = "Company Report",
    LeftText = "{date}",
    RightText = "Confidential",
    FontSize = 12,
    FontFamily = "Arial",
    DrawDividerLine = true
};

renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
    CenterText = "Page {page} of {total-pages}",
    LeftText = "© 2025 Company Name",
    DrawDividerLine = true
};

// For complex branded headers, use an HTML fragment instead
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = @"
        <div style='display: flex; justify-content: space-between; align-items: center;'>
            <img src='logo.png' height='30' />
            <h2>Monthly Report</h2>
            <span>{date}</span>
        </div>",
    MaxHeight = 50,
    DrawDividerLine = true
};
// Simple text header and footer with dynamic placeholders
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
    CenterText = "Company Report",
    LeftText = "{date}",
    RightText = "Confidential",
    FontSize = 12,
    FontFamily = "Arial",
    DrawDividerLine = true
};

renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
    CenterText = "Page {page} of {total-pages}",
    LeftText = "© 2025 Company Name",
    DrawDividerLine = true
};

// For complex branded headers, use an HTML fragment instead
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = @"
        <div style='display: flex; justify-content: space-between; align-items: center;'>
            <img src='logo.png' height='30' />
            <h2>Monthly Report</h2>
            <span>{date}</span>
        </div>",
    MaxHeight = 50,
    DrawDividerLine = true
};
' Simple text header and footer with dynamic placeholders
renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
    .CenterText = "Company Report",
    .LeftText = "{date}",
    .RightText = "Confidential",
    .FontSize = 12,
    .FontFamily = "Arial",
    .DrawDividerLine = True
}

renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
    .CenterText = "Page {page} of {total-pages}",
    .LeftText = "© 2025 Company Name",
    .DrawDividerLine = True
}

' For complex branded headers, use an HTML fragment instead
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
    .HtmlFragment = "
        <div style='display: flex; justify-content: space-between; align-items: center;'>
            <img src='logo.png' height='30' />
            <h2>Monthly Report</h2>
            <span>{date}</span>
        </div>",
    .MaxHeight = 50,
    .DrawDividerLine = True
}
$vbLabelText   $csharpLabel

Başlıklar ve altbilgiler, sayfa numaraları, tarihler ve dinamik içerik için özel yer tutucuları destekler. Daha ayrıntılı kontrol için belirli sayfalara farklı başlıklar uygulayabilirsiniz.

ASP.NET PDF Dönüşümü İçin En İyi Uygulamalar Nelerdir?

HTML'den PDF'ye dönüştürürken en iyi performansı ve kaliteyi sağlamak için bu kanıtlanmış uygulamaları izleyin. Büyük ölçekli dağıtımlar için performans optimizasyonu stratejilerini uygulayın.

HTML işleme işleminizi PDF oluşturmadan önce doğrulamak için her zaman bir tarayıcıda test edin. Dış kaynaklar için, bağıntılı yollar dönüşüm sırasında çözümleme hatalarına neden olabileceğinden temel URL'ler kullanın. JavaScript ağırlıklı sayfalar için, yakalama öncesi tam yüklemeyi sağlamak için işleme gecikmeleri ekleyin.

Aşağıdaki örnek, yapılandırmayı merkezileştiren ve asenkron oluşturmayı ele alan yeniden kullanılabilir bir PDF servisini gösterir.

public class PdfService
{
    private readonly ChromePdfRenderer _renderer;

    public PdfService()
    {
        _renderer = new ChromePdfRenderer();
        _renderer.RenderingOptions.RenderDelay = 100;
        _renderer.RenderingOptions.Timeout = 60000;
        _renderer.RenderingOptions.EnableJavaScript = true;
        _renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
    }

    public async Task<byte[]> GeneratePdfAsync(string html, bool compressImages = false)
    {
        var pdf = await Task.Run(() => _renderer.RenderHtmlAsPdf(html));

        if (compressImages)
        {
            pdf.CompressImages(90);
        }

        return pdf.BinaryData;
    }
}
public class PdfService
{
    private readonly ChromePdfRenderer _renderer;

    public PdfService()
    {
        _renderer = new ChromePdfRenderer();
        _renderer.RenderingOptions.RenderDelay = 100;
        _renderer.RenderingOptions.Timeout = 60000;
        _renderer.RenderingOptions.EnableJavaScript = true;
        _renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
    }

    public async Task<byte[]> GeneratePdfAsync(string html, bool compressImages = false)
    {
        var pdf = await Task.Run(() => _renderer.RenderHtmlAsPdf(html));

        if (compressImages)
        {
            pdf.CompressImages(90);
        }

        return pdf.BinaryData;
    }
}
Public Class PdfService
    Private ReadOnly _renderer As ChromePdfRenderer

    Public Sub New()
        _renderer = New ChromePdfRenderer()
        _renderer.RenderingOptions.RenderDelay = 100
        _renderer.RenderingOptions.Timeout = 60000
        _renderer.RenderingOptions.EnableJavaScript = True
        _renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
    End Sub

    Public Async Function GeneratePdfAsync(html As String, Optional compressImages As Boolean = False) As Task(Of Byte())
        Dim pdf = Await Task.Run(Function() _renderer.RenderHtmlAsPdf(html))

        If compressImages Then
            pdf.CompressImages(90)
        End If

        Return pdf.BinaryData
    End Function
End Class
$vbLabelText   $csharpLabel

Sunucu yükünü azaltmak için sık sık üretilen belgeler için önbelleğe alma uygulamayı düşünün. Web uygulamalarında daha iyi ölçeklenebilirlik için asenkron yöntemler kullanın. Yüksek hacimli senaryolar için paralel işlemeyi veya IronPDF'yi bir mikro hizmet olarak dağıtmayı düşünün.

Üretime dağıtılırken, uygun geçici klasör yollarını yapılandırın ve özellikle Linux dağıtımları için barındırma ortamınızın gerekli bağımlılıkları yüklediğinden emin olun. Bellek kullanımını izleyin ve Microsoft'un .NET kılavuzundan IDisposable deseni kullanarak uygun saklama kalıplarını uygulayın. Büyük HTML belgeleriyle çalışırken, bellek yükünü en aza indirmek için akış yaklaşımlarını kullanın.

Aşağıdaki tablo, üç birincil dönüştürme yöntemini ve her birini ne zaman kullanacağınızı özetlemektedir:

IronPDF ASP.NET Dönüşüm Yöntemleri Karşılaştırması
Yöntem En İyi Kullanım Amacı Anahtar API Kimlik Doğrulama Desteği
HTML Dizesi Kodda oluşturulmuş dinamik içerik RenderHtmlAsPdf() Geçersiz
Razor Görünümü Mevcut MVC görünümleri ve şablonları RenderHtmlAsPdf() Oturum bağlamı
URL Genel veya kimlik doğrulanmış web sayfaları RenderUrlAsPdf() Çerezler, üstbilgiler, kimlik bilgileri

PDF Oluşturma Süreciniz İçin Sırada Ne Var?

ASP.NET Core uygulamalarında ASP HTML'yi PDF'ye dönüştürmek IronPDF ile kolay hale gelir. Kütüphanenin Chrome tabanlı dönüştürmesi, profesyonel belge oluşturmak için geniş özelleştirme seçenekleri sunarken doğru dönüştürme sağlar. PDF/A uyumluluğu, dijital imzalar ve form oluşturma gibi gelişmiş özellikleri keşfedin.

İster HTML dizeleri, ister URL'ler, ister tam Razor görünümleri ile çalışın, IronPDF tam biçimlendirme, CSS stilini ve JavaScript davranışını korur. Tam belge kontrolü için PDF sıkıştırma, filigran ekleme ve meta veri yönetimi keşfedin.

Ücretsiz 30 günlük denemenize başlayın ve ASP.NET Core uygulamalarınızda profesyonel PDF oluşturmayı uygulayın. Seçim yapmakta yardıma mı ihtiyaçınız var? Lisanslama seçeneklerine göz atın veya ekip ile bir demo rezervasyonu yapın.

Dört fiyatlandırma katmanı (Lite, Plus, Professional ve Unlimited) gösteren IronPDF lisanslama sayfası, farklı geliştirici, konum ve proje sınırlarıyla

Sıkça Sorulan Sorular

ASP.NET Core'da HTML'yi PDF'ye dönüştürmenin en iyi yolu nedir?

ASP.NET Core'da HTML'yi PDF'ye dönüştürmenin en iyi yolu IronPDF kullanmaktır. HTML içeriğini dönüştürmek için sorunsuz bir çözüm sunar ve yüksek kaliteli PDF üretimini garanti eder.

HTML'yi PDF'ye dönüştürmek için neden IronPDF'i kullanmalıyım?

IronPDF, doğru işlem, CSS ve JavaScript desteği ve karmaşık HTML belgelerini işleme kabiliyeti gibi güçlü özellikler sunar. Bu sayede ASP.NET uygulamalarından profesyonel kalitede PDF'ler oluşturmak için idealdir.

IronPDF, ASP.NET uygulamalarındaki dinamik içeriği işleyebilir mi?

Evet, IronPDF dinamik içeriği ASP.NET uygulamalarında etkili bir şekilde işleyebilir. Dinamik HTML içeriğini PDF'lere işleyip dönüştürür ve faturalar, raporlar ve diğer belgeleri oluşturmak için mükemmeldir.

IronPDF, oluşturulan PDF'ye CSS stillerinin dahil edilmesini destekliyor mu?

Kesinlikle, IronPDF CSS stillerini destekler. Mevcut CSS stil sayfalarınızı uygulayabilir ve PDF çıktıların tasarımının ve HTML içeriğinizin düzeniyle eşleşmesini sağlayabilirsiniz.

IronPDF, HTML'den PDF'ye dönüştürmede JavaScript'i nasıl destekler?

IronPDF, JavaScript'i tamamen destekler, bu sayede HTML'nizdeki dinamik öğeler ve etkileşimli içerikler sonucunda oluşturulan PDF'de doğru bir şekilde işlenir.

ASP.NET'te HTML'nin PDF'ye dönüştürülmesi için bazı yaygın kullanılma durumları nelerdir?

Yaygın kullanımlar arasında fatura oluşturma, detaylı raporlar oluşturma, sertifikalar üretme ve doğrudan ASP.NET uygulamalarından indirilebilir içerikler sunma, örneğin e-Kitaplar ve broşürler yer alır.

IronPDF, PDF çıktısının kalitesini nasıl sağlar?

IronPDF, HTML içeriğini, yazı tiplerini, resimleri, tabloları ve diğer öğeleri sadakat kaybı olmadan orijinal tasarımın sadakatini koruyarak doğru bir şekilde işleyerek yüksek kaliteli PDF çıktısını sağlar.

IronPDF ile HTML'den PDF'ye dönüştürme sürecini otomatikleştirebilir miyim?

Evet, IronPDF, ASP.NET uygulamaları içinde otomasyon iş akışlarına dahil edilebilir ve böylece uygulamanızın süreçlerinin bir parçası olarak HTML'den PDF'ye dönüşümü otomatikleştirmenize olanak tanır.

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