HTML'den PDF'ye: C# .NET İçin Hızlı Bir Öğretici

HTML'yi C# (Geliştirici Kılavuzu) ile PDF'ye Nasıl Dönüştürebilirim?

This article was translated from English: Does it need improvement?
Translated
View the article in English

HTML'yi C#'de PDF'ye dönüştürmek, gerçek dünya gereksinimleri ortaya çıkana kadar basit görünür. Geliştiriciler kısa süre içinde, render doğruluğunu, dağıtımını ve ölçeklenebilirliği etkileyen sınırlamalarla karşılaşır.

Render ötesinde, altyapı uyumluluğu kritik hale gelir. Ekipler, modern .NET çalıştırma süreleri, bulut platformları ve konteynır ortamları arasında PDF üretiminin performans kaybı olmadan çalıştığını sağlamalıdır.

Bu açıkları ele almak için, IronPDF gibi modern Chrome tabanlı çözümler, daha yüksek render sadakatinin yanı sıra daha geniş platform desteği ve üretime hazır dağıtım iş akışları sağlar—daha sonraki bu kılavuzda adım adım incelenmiştir.

Özet Geçiş Kılavuzu: HTML'yi PDF'ye Dönüştürün

HTML, CSS ve JavaScript'ten yüksek kaliteli PDF dosyaları oluşturmak için ChromePdfRenderer.RenderHtmlAsPdf yöntemini sunan IronPDF kütüphanesini kullanarak C#'da HTML'yi kolayca PDF'ye dönüştürebilirsiniz.

  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.

    IronPdf.ChromePdfRenderer
           .StaticRenderHtmlAsPdf("<p>Hello World</p>")
           .SaveAs("pixelperfect.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

IronPDF'nin 30 günlük denemesine kaydolduktan veya satın aldıktan sonra, lisans anahtarınızı e-posta adresinize gönderilen mesajda bulabilirsiniz. Uygulamanızın başında lisans anahtarınızı ekleyin.

IronPdf.License.LicenseKey = "KEY";
IronPdf.License.LicenseKey = "KEY";
Imports IronPdf

IronPdf.License.LicenseKey = "KEY"
$vbLabelText   $csharpLabel

NET Geliştiricilerinin C# İçin HTML'den PDF'ye Dönüştürücüsüne Neden İhtiyacı Var

IronPDF, yerleşik Google Chromium render motorunu kullanarak yüksek sadakatli dönüşümler sağlar, web içeriğinizin düzenini ve stilini doğru bir şekilde korur.

Güçlü Chrome Görüntüleme Motoru: Chrome'un Blink motoru ile doğru HTML'den PDF'e dönüştürme, şimdi bellek, formlar ve görüntüleme doğruluğu iyileştirmeleriyle güçlendirildi (v2025.9.4)

Piksel Düzeyinde Doğruluk: Üretilen PDF'ler, web sayfası ile tamamen uyumludur, yazıcı dostu bir sürüm değildir. Son düzeltmeler, özel başlık/altbilgi kesme, gri tonlama metin koruması ve meta verilerde özel karakterler/emojiler kapsamaktadır (v2025.9.4 itibarıyla)

Tam Modern Web Desteği: Tüm HTML öğeleri için tam CSS3, HTML5, JavaScript desteği. Son iyileştirmeler, uzun metin alanları ve onay kutuları için form alanı işleme desteğini kapsar.

5-20 Kat Performans Artışı: Tarayıcı otomasyonu veya web sürücülerinden önemli ölçüde daha hızlı, şimdi bellek kaçaklarını giderir ve damgalar/başlıklar gibi tekrarlanan öğeler için dosya boyutlarını azaltır.

PDF/UA Uyumlu: Bölüm 508 standartlarına uygun erişilebilir PDF oluşturma, çapraz platform (örneğin, Linux) form görüntüleme için geliştirilmiştir.

Harici Bağımlılık Yok: Sunuculara yüklemek için yürütülebilir dosya yok

✅ .NET 10, 9, 8, 7, 6, Core, Standard veya Framework üzerinde çalışan C#, F#, ve VB.NET için tasarlandı

IronPDF, .NET geliştiricileri için süreci basitleştirir, web uygulamanızın HTML'sinden profesyonel görünümlü PDF belgeleri oluşturmak için basit ve verimli bir çözüm sunar. Faturalardan ve raporlardan sertifikalara ve arşivlere kadar, geliştiriciler tanıdık web yığınlarıyla çalışabilirken IronPDF karmaşık işleri yalnızca birkaç satır kod ile halleder.

İLGİLİ: IronPDF Değişiklik Günlüğü: Güncellemeler, Başarılar, Yol Haritası

Neleri Öğreneceksiniz

  1. HTML'den PDF'e Nasıl Dönüştürülür C#
  1. HTML'den PDF'e Ayarları Nasıl Yapılandırırsınız

  2. Gelişmiş PDF Oluşturma ve Güvenlik Özelliklerini Nasıl Kullanırsınız
  1. HTML'den PDF'e Nasıl Bulut Platformlarına Dağıtılır

  2. IronPDF ile Diğer .NET PDF Kütüphanelerini Karşılaştırın

  3. Sorun Giderme ve Teknik Destek

1. How to Convert HTML to PDF C

HTML dizeleri, URL'ler veya HTML dosyaları ile çalışıyor olun, IronPDF belirli gereksinimlerinizi karşılayan yüksek kaliteli PDF belgeleri üretmek için esnek seçenekler sunar.

Bu eğitimde, HTML dizesi ile PDF'e, URL'den PDF'e ve HTML dosyasından PDF'e kadar en yaygın senaryoları adım adım inceleyeceğiz. Ek olarak, IronPDF ayrıca PDF belgelerini manipüle etmek için çeşitli işlemler sunar:

HTML Dizesini PDF'e Nasıl Dönüştürürsünüz

En temel işlem HTML dizesi ile PDF'e dönüştürmedir. Bu yöntem, dinamik olarak üretilen HTML içeriği için idealdir. RenderHtmlAsPdf yöntemi, HTML'yi doğrudan PDF'ye dönüştürürken HTML5, CSS3, JavaScript ve resimleri tam olarak destekler.

using IronPdf;

// Create the Chrome renderer
var renderer = new ChromePdfRenderer();

// Convert HTML string to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");

// Save the PDF
pdf.SaveAs("output.pdf");
using IronPdf;

// Create the Chrome renderer
var renderer = new ChromePdfRenderer();

// Convert HTML string to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");

// Save the PDF
pdf.SaveAs("output.pdf");
Imports IronPdf

' Create the Chrome renderer
Dim renderer As New ChromePdfRenderer()

' Convert HTML string to PDF
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>")

' Save the PDF
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

Performans

IronPDF'nin dize, URL ve HTML'den PDF'ye dönüştürme performansı, 16 GB RAM'e sahip bir Lenovo dizüstü bilgisayar kullanılarak ölçülmüştür. Test belgesi, standart CSS Grid, gradyanlar ve çok bölümlü tablolar içeren 3 sayfalık bir Enterprise faturasıdır.

Sonuçlar şu şekildedir:

Metrik Değer
Ortalama işleme süresi ~486 ms
Render başına bellek ~3,6 MB

16 çekirdekli bir iş istasyonunda (Windows 11, .NET 8) arka arkaya 5 kez render edilerek ölçülmüştür. İlk çağrı ayrıca tek seferlik Chromium motoru başlatma işlemini de içerir (~1,3 s)

Testi ilk kez çalıştırdığımda, işleme süresi oldukça yavaştı (her çağrı için bir saniyeden fazla!). Neler olduğunu inceledikten sonra, birkaç Chromium örneğinin açık olduğunu ve pil gücüyle çalıştığımı fark ettim; bu iki durum da kütüphanenin gerçek hızını göstermesine engel oluyordu. Rakip işlemleri kapatıp fişi taktığımda, işler netleşti: sıcak çalıştırmaların ortalaması ~486 ms idi ve en hızlısı 473 ms civarındaydı.

İpuçları(V2025.9.4 için güncellenmiştir) Son güncellemeler, HTML meta verilerinde özel karakterler/emojilerle ilgili sorunları düzeltir ve Linux'ta Çince karakterler de dahil olmak üzere HTML form alanlarının daha iyi işlenmesini sağlar. En iyi sonuçlar için</span style="color: red;"> dinamik içeriği ile test edin

HTML dizesi, resimler veya stil sayfaları gibi yerel varlıklara atıfta bulunuyorsa, tüm kaynaklarla birlikte HTML içeriğini doğru şekilde dönüştürmek için BaseUrlPath parametresini kullanın:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Convert HTML content with local image and CSS references
string html = @"
    <link rel='stylesheet' href='styles.css'>
    <img src='logo.png' alt='Company Logo'>
    <h1>Company Report</h1>
    <p>Annual report content...</p>";

// Set base path for resolving relative URLs in HTML to PDF conversion
var pdf = renderer.RenderHtmlAsPdf(html, @"C:\MyProject\Assets\");
pdf.SaveAs("report.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Convert HTML content with local image and CSS references
string html = @"
    <link rel='stylesheet' href='styles.css'>
    <img src='logo.png' alt='Company Logo'>
    <h1>Company Report</h1>
    <p>Annual report content...</p>";

// Set base path for resolving relative URLs in HTML to PDF conversion
var pdf = renderer.RenderHtmlAsPdf(html, @"C:\MyProject\Assets\");
pdf.SaveAs("report.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Convert HTML content with local image and CSS references
Dim html As String = "
    <link rel='stylesheet' href='styles.css'>
    <img src='logo.png' alt='Company Logo'>
    <h1>Company Report</h1>
    <p>Annual report content...</p>"

' Set base path for resolving relative URLs in HTML to PDF conversion
Dim pdf = renderer.RenderHtmlAsPdf(html, "C:\MyProject\Assets\")
pdf.SaveAs("report.pdf")
$vbLabelText   $csharpLabel

İpuçlarıBaseUrlPath, CSS, JavaScript ve resim dosyalarınızın nerede bulunacağını IronPDF'e bildirir. HTML dizesindeki tüm relatif yollar bu dizinden çözümlenecektir.

UyarıDikkat edilmesi gereken bir konu ve otomatik belge oluşturma için hangi kütüphaneyi kullanırsanız kullanın çıktıyı test etmenin neden önemli olduğu, Enterprise belgede referanslar varsayılan olarak sistem ayarlarına geri döndüğünde bozuk öğeler veya eksik varlıklar bulunabilmesidir. IronPDF, göreceli yolları doğru dizine yönlendirmek için BaseUrlPath parametresini sunar; bu nedenle, toplu işler çalıştırılmadan önce hızlı bir çıktı kontrolü genellikle bunu yakalamak için yeterlidir.

İLGİLİ NASIL YAZILIR MAKALE: C#'ta HTML Dizesini PDF'e Nasıl Dönüştürürsünüz

Mevcut URL'yi PDF'e Nasıl Dışa Aktarabilirsiniz

Web sayfalarını C# ile PDF'e dönüştürmek, ekiplerin PDF tasarımı ve arka plan render işini ayırmasını sağlar. Bu yaklaşım, belirtilen herhangi bir URL'yi doğrudan PDF formatına dönüştürmenizi sağlar.

Yazdırma vs Ekran CSS

IronPDF'i her iki CSS medya türü ile görüntülemeyi ayarlayabilirsiniz.

using IronPdf;
using IronPdf.Rendering;

// Initialize HTML to PDF converter
var renderer = new ChromePdfRenderer();

// Configure CSS media type for rendering specified URLs
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Screen media type shows the entire web page as displayed on screen
using IronPdf;
using IronPdf.Rendering;

// Initialize HTML to PDF converter
var renderer = new ChromePdfRenderer();

// Configure CSS media type for rendering specified URLs
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Screen media type shows the entire web page as displayed on screen
Imports IronPdf
Imports IronPdf.Rendering

' Initialize HTML to PDF converter
Dim renderer As New ChromePdfRenderer()

' Configure CSS media type for rendering specified URLs
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print

' Screen media type shows the entire web page as displayed on screen
$vbLabelText   $csharpLabel

JavaScript Desteği

IronPDF, HTML'den PDF'e dönüşüm yaparken JavaScript, jQuery ve AJAX'i tamamen destekler. Dinamik HTML içeriği için IronPDF'i web sayfalarını PDF'e dönüştürmeden önce JavaScript'in tamamlanmasını bekleyecek şekilde yapılandırabilirsiniz. Bu, tek sayfalık uygulamalar ve dinamik web siteleri için idealdir.

using IronPdf;

// Configure JavaScript rendering for dynamic HTML content to PDF
var renderer = new ChromePdfRenderer();

// Enable JavaScript execution during PDF generation
renderer.RenderingOptions.EnableJavaScript = true;

// WaitFor.RenderDelay pauses before capturing the HTML
renderer.RenderingOptions.WaitFor.RenderDelay = 500; // milliseconds
using IronPdf;

// Configure JavaScript rendering for dynamic HTML content to PDF
var renderer = new ChromePdfRenderer();

// Enable JavaScript execution during PDF generation
renderer.RenderingOptions.EnableJavaScript = true;

// WaitFor.RenderDelay pauses before capturing the HTML
renderer.RenderingOptions.WaitFor.RenderDelay = 500; // milliseconds
Imports IronPdf

' Configure JavaScript rendering for dynamic HTML content to PDF
Dim renderer As New ChromePdfRenderer()

' Enable JavaScript execution during PDF generation
renderer.RenderingOptions.EnableJavaScript = True

' WaitFor.RenderDelay pauses before capturing the HTML
renderer.RenderingOptions.WaitFor.RenderDelay = 500 ' milliseconds
$vbLabelText   $csharpLabel

JavaScript yürütme işlemi, ileri düzey bir d3.js akor çizelgesini bir web sayfasından PDF formatına dönüştürdüğünüzde de gösterilebilir:

using IronPdf;

// Create renderer for JavaScript-heavy HTML
var renderer = new ChromePdfRenderer();

// Convert d3.js visualization web page to PDF
var pdf = renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006");

// Save the interactive chart as static PDF
pdf.SaveAs("chart.pdf");
using IronPdf;

// Create renderer for JavaScript-heavy HTML
var renderer = new ChromePdfRenderer();

// Convert d3.js visualization web page to PDF
var pdf = renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006");

// Save the interactive chart as static PDF
pdf.SaveAs("chart.pdf");
Imports IronPdf

' Create renderer for JavaScript-heavy HTML
Dim renderer As New ChromePdfRenderer()

' Convert d3.js visualization web page to PDF
Dim pdf = renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006")

' Save the interactive chart as static PDF
pdf.SaveAs("chart.pdf")
$vbLabelText   $csharpLabel

Duyarlı CSS

Duyarlı web sayfaları tarayıcıda görüntülenmek üzere tasarlanmıştır ve IronPDF, sunucunuzun işletim sisteminde gerçek bir tarayıcı penceresi açmadığından, duyarlı HTML öğeleri en küçük boyutlarında görüntülenebilir. Web sayfalarının tamamını görüntülerken bu sorunu aşmak için PdfCssMediaType.Print kullanılması önerilir.

// Configure for optimal responsive design handling in HTML to PDF

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
// Configure for optimal responsive design handling in HTML to PDF

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
```vbnet
' Configure for optimal responsive design handling in HTML to PDF

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
```
$vbLabelText   $csharpLabel

İLGİLİ NASIL YAZILIR MAKALE: URL'yi PDF'e Nasıl Görüntülersiniz

HTML Dosyasını PDF'e Nasıl Dönüştürürsünüz

Yerel HTML dosyalarını PDF'e dönüştürmek, CSS, resimler ve JavaScript dahil tüm relatif varlıkları dosya:// protokolü kullanılarak açılmış gibi korur. Bu HTML'den PDF'e yöntem, şablonları veya önceden tasarlanmış HTML sayfalarını PDF belgelerine dönüştürmek için idealdir.

using IronPdf;

// Initialize ChromePdfRenderer for HTML file conversion
var renderer = new ChromePdfRenderer();

// Convert HTML file to PDF documents
// Preserves all relative paths and linked resources in HTML
var pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html");

// Save the HTML file as PDF 
pdf.SaveAs("Invoice.pdf");

// All CSS, JavaScript, and images load correctly in the generated PDF
using IronPdf;

// Initialize ChromePdfRenderer for HTML file conversion
var renderer = new ChromePdfRenderer();

// Convert HTML file to PDF documents
// Preserves all relative paths and linked resources in HTML
var pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html");

// Save the HTML file as PDF 
pdf.SaveAs("Invoice.pdf");

// All CSS, JavaScript, and images load correctly in the generated PDF
Imports IronPdf

' Initialize ChromePdfRenderer for HTML file conversion
Dim renderer As New ChromePdfRenderer()

' Convert HTML file to PDF documents
' Preserves all relative paths and linked resources in HTML
Dim pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html")

' Save the HTML file as PDF 
pdf.SaveAs("Invoice.pdf")

' All CSS, JavaScript, and images load correctly in the generated PDF
$vbLabelText   $csharpLabel

Performans

Performans, tüm değişkenleri sabit tutarak diskteki bir dosyadan önceki 3 sayfalık Enterprise faturayı işleyerek tekrar ölçüldü:

Metrik Değer
Ortalama işleme süresi ~502 ms
Render başına bellek ~3,1 MB

Aynı 16 çekirdekli iş istasyonunda (Windows 11, .NET 8) arka arkaya 5 render işlemi üzerinden ölçülmüştür. Dosya tabanlı işleme, bellek içi dize işlemeyle yaklaşık %3 oranında eşleşir; diskten HTML'yi okumak ölçülebilir bir ek yük getirmez.

İpuçlarıHTML dosyalarınızı, varlıklarıyla (CSS, resimler) ayrı bir klasörde tutun, böylece HTML dosyasını PDF'e dönüştürmeden önce bunları bir tarayıcıda düzenleyebilir ve test edebilirsiniz. Bu, HTML'nizin yüksek kaliteli PDF belgeleri için mükemmel şekilde görüntülenmesini sağlar.

İLGİLİ NASIL YAZILIR MAKALE: HTML Dosyasını PDF'e Nasıl Görüntülersiniz

Razor Sayfalarını PDF'e Nasıl Dönüştürürsünüz

ASP.NET Core projeniz zaten Razor Sayfalarını kullanıyorsa, HTML'yi yeniden oluşturmanıza gerek kalmadan bunları doğrudan PDF'e dönüştürebilirsiniz. IronPDF'nin Razor uzantısı, .cshtml sayfanızı (modeli ve düzeni ile birlikte) tek bir çağrı ile PDF belgesi olarak işleyen RenderRazorToPdf yöntemini ekler.

PM > Install-Paket IronPdf.Extensions.Razor
PM > Install-Paket IronPdf.Extensions.Razor
SHELL
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

public class ReportModel : PageModel
{
    public IActionResult OnGet()
    {
        var renderer = new ChromePdfRenderer();

        // Render a Razor Page directly to PDF
        PdfDocument pdf = renderer.RenderRazorToPdf(this);

        Response.Headers.Add("Content-Disposition", "inline");
        return new FileContentResult(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

public class ReportModel : PageModel
{
    public IActionResult OnGet()
    {
        var renderer = new ChromePdfRenderer();

        // Render a Razor Page directly to PDF
        PdfDocument pdf = renderer.RenderRazorToPdf(this);

        Response.Headers.Add("Content-Disposition", "inline");
        return new FileContentResult(pdf.BinaryData, "application/pdf");
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Imports Microsoft.AspNetCore.Mvc.RazorPages

Public Class ReportModel
    Inherits PageModel

    Public Function OnGet() As IActionResult
        Dim renderer As New ChromePdfRenderer()

        ' Render a Razor Page directly to PDF
        Dim pdf As PdfDocument = renderer.RenderRazorToPdf(Me)

        Response.Headers.Add("Content-Disposition", "inline")
        Return New FileContentResult(pdf.BinaryData, "application/pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

Lütfen dikkate alınRenderRazorToPdf, bir ASP.NET Core Web App projesi gerektirir. Konsol uygulamalarında veya sınıf kütüphanelerinde çalışmaz — Razor görünüm motoru barındırma hattında bulunmalıdır.

İLGİLİ NASIL YAZILIR MAKALE: Razor Sayfalarında CSHTML'i PDF'e Nasıl Dönüştürürsünüz

MVC Görünümlerini PDF'e Nasıl Dönüştürürsünüz

MVC patternini kullanan ekipler, mevcut Görünümleri ve kontrollerini doğrudan PDF olarak üretebilir. MVC Core uzantı paketini yükleyin, ardından görünüm yolunuz ve modelinizle RenderRazorViewToPdf'yi çağırın — IronPDF, Razor işleme boru hattını yönetir ve bitmiş bir PDF dosyası oluşturur.

Bu, özellikle raporlar, faturalar ve HTML'nin önceden tasarlanmış ve tarayıcıda test edilmiş olduğu diğer sayfalar için faydalıdır. Üretilen PDF, düzen sayfaları ve parçalı görünümler dahil tam Görünüm çıktısını korur.

PM > Install-Paket IronPdf.Extensions.Mvc.Co/re
PM > Install-Paket IronPdf.Extensions.Mvc.Co/re
SHELL

İlk olarak, denetleyicilerinizin IRazorViewRenderer hizmetini enjekte edebilmesi için Program.cs dosyanıza bu hizmeti kaydedin:

using IronPdf.Extensions.Mvc.Co/re;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();

// Register the Razor view renderer for IronPDF
builder.Services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
builder.Services.AddSingleton<IRazorViewRenderer, RazorViewRenderer>();
using IronPdf.Extensions.Mvc.Co/re;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();

// Register the Razor view renderer for IronPDF
builder.Services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
builder.Services.AddSingleton<IRazorViewRenderer, RazorViewRenderer>();
Imports IronPdf.Extensions.Mvc.Core

Dim builder = WebApplication.CreateBuilder(args)
builder.Services.AddControllersWithViews()

' Register the Razor view renderer for IronPDF
builder.Services.AddSingleton(Of IHttpContextAccessor, HttpContextAccessor)()
builder.Services.AddSingleton(Of IRazorViewRenderer, RazorViewRenderer)()
$vbLabelText   $csharpLabel

Ardından denetleyici eyleminizde render'ı inject edin ve herhangi bir Görünümü PDF'e dönüştürün:

using IronPdf;
using IronPdf.Extensions.Mvc.Co/re;
using Microsoft.AspNetCore.Mvc;

public class ReportController : Controller
{
    private readonly IRazorViewRenderer _viewRenderService;

    // Inject the view renderer via constructor
    public ReportController(IRazorViewRenderer viewRenderService)
    {
        _viewRenderService = viewRenderService;
    }

    public IActionResult Download()
    {
        var reportModel = new { Title = "Quarterly Report", Total = 1250.00 };
        var renderer = new ChromePdfRenderer();

        // Render an MVC View with model data to PDF
        PdfDocument pdf = renderer.RenderRazorViewToPdf(
            _viewRenderService, "Views/Home/Report.cshtml", reportModel);

        Response.Headers.Add("Content-Disposition", "inline");
        return new FileContentResult(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
using IronPdf.Extensions.Mvc.Co/re;
using Microsoft.AspNetCore.Mvc;

public class ReportController : Controller
{
    private readonly IRazorViewRenderer _viewRenderService;

    // Inject the view renderer via constructor
    public ReportController(IRazorViewRenderer viewRenderService)
    {
        _viewRenderService = viewRenderService;
    }

    public IActionResult Download()
    {
        var reportModel = new { Title = "Quarterly Report", Total = 1250.00 };
        var renderer = new ChromePdfRenderer();

        // Render an MVC View with model data to PDF
        PdfDocument pdf = renderer.RenderRazorViewToPdf(
            _viewRenderService, "Views/Home/Report.cshtml", reportModel);

        Response.Headers.Add("Content-Disposition", "inline");
        return new FileContentResult(pdf.BinaryData, "application/pdf");
    }
}
Imports IronPdf
Imports IronPdf.Extensions.Mvc.Core
Imports Microsoft.AspNetCore.Mvc

Public Class ReportController
    Inherits Controller

    Private ReadOnly _viewRenderService As IRazorViewRenderer

    ' Inject the view renderer via constructor
    Public Sub New(viewRenderService As IRazorViewRenderer)
        _viewRenderService = viewRenderService
    End Sub

    Public Function Download() As IActionResult
        Dim reportModel = New With {.Title = "Quarterly Report", .Total = 1250.0}
        Dim renderer = New ChromePdfRenderer()

        ' Render an MVC View with model data to PDF
        Dim pdf As PdfDocument = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Report.cshtml", reportModel)

        Response.Headers.Add("Content-Disposition", "inline")
        Return New FileContentResult(pdf.BinaryData, "application/pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

İLGİLİ NASIL YAZILIR MAKALE: ASP.NET Core MVC'de Görünümleri PDF'e Nasıl Dönüştürürsünüz

2. HTML'den PDF'e Ayarları Nasıl Yapılandırırsınız

PDF belgelerinin işlenmesi açısından IronPDF, işlenmiş PDF'ler için ChromePdfRenderer.RenderingOptions özelliği aracılığıyla kapsamlı özelleştirme olanakları sunar.

Ayarlar Açıklama Örnek
PaperSize Mevcut PDF'ler için sayfa boyutlarını ayarlayın (A4, Mektup, Hukuk, vb.) PdfPaperSize.A4
PaperOrientation Mevcut PDF'ler için Dikey veya Yatay ayarlayın PdfPaperOrientation.Landscape
MarginTop/Bottom/Left/Right Sayfa kenar boşluklarını milimetre olarak ayarlayın (varsayılan: 25mm)
CssMediaType HTML'den PDF'e Ekran veya Yazdır CSS PdfCssMediaType.Print
PrintHtmlBackgrounds Arka plan renklerini/resimlerini dahil edin (varsayılan: true) true
EnableJavaScript HTML içeriği işlenmeden önce JavaScript çalıştırın true
WaitFor.RenderDelay Dinamik HTML içeriği için bekleme süresi (ms) 500

PDF belgelerini manipüle etmek için tam bir yapılandırma örneği için bu kod parçacığına bakın:

using IronPdf;
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer();

// Apply print-specific CSS rules
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Set custom margins in millimeters
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;

// Enable background colors and images
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

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

// Generate PDFs with all settings applied to HTML content
var htmlContent = "<div style='background-color: #f0f0f0; padding: 20px;'><h1>Styled Content</h1></div>";
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
pdfDocument.SaveAs("styled-output.pdf");
using IronPdf;
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer();

// Apply print-specific CSS rules
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Set custom margins in millimeters
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;

// Enable background colors and images
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

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

// Generate PDFs with all settings applied to HTML content
var htmlContent = "<div style='background-color: #f0f0f0; padding: 20px;'><h1>Styled Content</h1></div>";
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
pdfDocument.SaveAs("styled-output.pdf");
Imports IronPdf
Imports IronPdf.Rendering

Dim renderer As New ChromePdfRenderer()

' Apply print-specific CSS rules
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print

' Set custom margins in millimeters
renderer.RenderingOptions.MarginTop = 50
renderer.RenderingOptions.MarginBottom = 50

' Enable background colors and images
renderer.RenderingOptions.PrintHtmlBackgrounds = True

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

' Generate PDFs with all settings applied to HTML content
Dim htmlContent As String = "<div style='background-color: #f0f0f0; padding: 20px;'><h1>Styled Content</h1></div>"
Dim pdfDocument As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
pdfDocument.SaveAs("styled-output.pdf")
$vbLabelText   $csharpLabel

İpuçlarıPdfCssMediaType kullanarak, render edilmiş PDF dosya formatında daha temiz, baskı için optimize edilmiş düzenler oluşturabilirsiniz. Ekranı kullanarak, kullanıcıların tarayıcılarında tam olarak ne gördüklerini eşleştirin.

İLGİLİ NASIL YAZILIR MAKALELER:

Özel HTTP Başlıkları, Çerezler ve Giriş Kimlik Bilgileri Nasıl Ayarlanır

Kimlik doğrulaması gerektiren veya özel istek meta verileri gerektiren URL'leri işlerken, IronPDF size istek ile birlikte giriş kimlik bilgilerini, oturum çerezlerini ve HTTP başlıklarını dahil etme imkanı sağlar. Bu, intranet panoları, sınırlı raporlar veya doğrudan API tarafından oluşturulan sayfaları PDF'e dönüştürmenizi sağlar.

Temel veya NTLM kimlik doğrulaması için, renderer üzerinde bir LoginCredentials nesnesi ayarlayın. Token tabanlı veya oturum tabanlı erişim için, RenderUrlAsPdf işlevini çağırmadan önce çerezleri ve başlıkları RenderingOptions işlevinden geçirin.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Network authentication (Basic, Digest, NTLM)
renderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    NetworkUsername = "user@domain.com",
    NetworkPassword = "securePassword"
};

// Session cookies for authenticated pages
renderer.RenderingOptions.CustomCookies["sessionId"] = "abc123";

// Custom HTTP headers (e.g., Bearer tokens, API keys)
renderer.RenderingOptions.CustomHttpRequestHeaders["Authorization"] = "Bearer eyJhbGciOi...";

var pdf = renderer.RenderUrlAsPdf("https://intranet.com/pany.com/quarterly-report");
pdf.SaveAs("quarterly-report.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Network authentication (Basic, Digest, NTLM)
renderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    NetworkUsername = "user@domain.com",
    NetworkPassword = "securePassword"
};

// Session cookies for authenticated pages
renderer.RenderingOptions.CustomCookies["sessionId"] = "abc123";

// Custom HTTP headers (e.g., Bearer tokens, API keys)
renderer.RenderingOptions.CustomHttpRequestHeaders["Authorization"] = "Bearer eyJhbGciOi...";

var pdf = renderer.RenderUrlAsPdf("https://intranet.com/pany.com/quarterly-report");
pdf.SaveAs("quarterly-report.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Network authentication (Basic, Digest, NTLM)
renderer.LoginCredentials = New ChromeHttpLoginCredentials With {
    .NetworkUsername = "user@domain.com",
    .NetworkPassword = "securePassword"
}

' Session cookies for authenticated pages
renderer.RenderingOptions.CustomCookies("sessionId") = "abc123"

' Custom HTTP headers (e.g., Bearer tokens, API keys)
renderer.RenderingOptions.CustomHttpRequestHeaders("Authorization") = "Bearer eyJhbGciOi..."

Dim pdf = renderer.RenderUrlAsPdf("https://intranet.com/pany.com/quarterly-report")
pdf.SaveAs("quarterly-report.pdf")
$vbLabelText   $csharpLabel

İLGİLİ NASIL YAZILIR MAKALELER: Giriş Kimlik Doğrulaması Ardından PDF'leri Görüntüleyin |Özel HTTP İstek Başlıkları

PDF İşleme İçin Proxy Nasıl Yapılandırılır

Kurumsal bir proxy arkasında harici kaynakları yükleyen HTML'yi işlerken, proxy adresini RenderHtmlAsPdf() üzerinde üçüncü parametre olarak geçirin. Bu bir yöntem parametresidir, ChromePdfRenderOptions üzerindeki bir özellik değildir — bu nedenle, renderer örneğinde değil, her render çağrısında ayarlanır.

Kimlik doğrulamalı proxy'ler için, kimlik bilgilerini http://user:pass@host:port biçimini kullanarak doğrudan URL'ye gömün. Şifrelerdeki özel karakterleri Uri.EscapeDataString() ile URL kodlayın.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Proxy is the third parameter — not a render option
PdfDocument pdf = renderer.RenderHtmlAsPdf(
    "<h1>Report</h1><link rel='stylesheet' href='https://cdn.example.com/styles.css'>",
    baseUrlOrPath: null,
    proxy: "http://proxy.co/rp.local:8080"
);
pdf.SaveAs("proxied-report.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Proxy is the third parameter — not a render option
PdfDocument pdf = renderer.RenderHtmlAsPdf(
    "<h1>Report</h1><link rel='stylesheet' href='https://cdn.example.com/styles.css'>",
    baseUrlOrPath: null,
    proxy: "http://proxy.co/rp.local:8080"
);
pdf.SaveAs("proxied-report.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Proxy is the third parameter — not a render option
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(
    "<h1>Report</h1><link rel='stylesheet' href='https://cdn.example.com/styles.css'>",
    baseUrlOrPath:=Nothing,
    proxy:="http://proxy.co/rp.local:8080"
)
pdf.SaveAs("proxied-report.pdf")
$vbLabelText   $csharpLabel

RenderUrlAsPdf()'nin proxy parametresini kabul etmediğini unutmayın. Proxy arkasında bulunan bir canlı URL'yi görüntülemek için, önce HttpClient ile WebProxy yapılandırılmış olarak HTML'yi alın, ardından varlık yükleme için proxy parametresiyle RenderHtmlAsPdf()'ye aktarın.

İLGİLİ NASIL YAZILIR MAKALE: PDF İşleme İçin Proxy Sunucuları Nasıl Yapılandırılır

3. Gelişmiş PDF Oluşturma ve Güvenlik Özelliklerini Nasıl Kullanırsınız

Gelişmiş şablon oluşturma, asenkron işlemler ve güvenlik özellikleri ile HTML'den PDF'e dönüştürme işlemi için kurumsal düzey yetenekleri ortaya çıkarın. Bu PDF manipülasyon yöntemleri, PDF belgelerini büyük ölçekte oluşturmanıza, hassas PDF dosyalarını korumanıza ve HTML'yi profesyonel PDF formatına dönüştürdüğünüzde belge özgünlüğünü sağlamanıza olanak tanır.

Toplu PDF Oluşturma İçin HTML Şablonu Nasıl Üretilir

Temel Toplu PDF Oluşturma

Toplu PDF oluşturma, birden çok kişiselleştirilmiş PDF belgesini verimli bir şekilde üretmek için gereklidir. Temel senaryolar için, C#'daki String.Format yöntemi basit PDF işlemleri için en uygunudur.

// Simple HTML templating with String.Format
string htmlTemplate = String.Format("<h1>Hello {0}!</h1>", "World");

// Results in HTML content: <h1>Hello World!</h1>
// Simple HTML templating with String.Format
string htmlTemplate = String.Format("<h1>Hello {0}!</h1>", "World");

// Results in HTML content: <h1>Hello World!</h1>
' Simple HTML templating with String.Format
Dim htmlTemplate As String = String.Format("<h1>Hello {0}!</h1>", "World")

' Results in HTML content: <h1>Hello World!</h1>
$vbLabelText   $csharpLabel

Daha uzun şablonlar için PDF belgeleri üretmeniz gerektiğinde, HTML içeriğinizdeki yer tutucu değiştirmelerini kullanın:

using IronPdf;

// Define reusable HTML template for PDF files
var htmlTemplate = "<p>Dear [[NAME]],</p><p>Thank you for your order.</p>";

// Customer names for batch PDF conversion processing
var names = new[] { "John", "James", "Jenny" };

// Create personalized PDF documents for each customer
var renderer = new ChromePdfRenderer();

foreach (var name in names)
{
    // Replace placeholder with actual data in HTML string
    var htmlInstance = htmlTemplate.Replace("[[NAME]]", name);

    // Generate personalized PDF document from HTML content
    var pdf = renderer.RenderHtmlAsPdf(htmlInstance);

    // Save with customer-specific filename as PDF files
    pdf.SaveAs($"{name}-invoice.pdf");
}
using IronPdf;

// Define reusable HTML template for PDF files
var htmlTemplate = "<p>Dear [[NAME]],</p><p>Thank you for your order.</p>";

// Customer names for batch PDF conversion processing
var names = new[] { "John", "James", "Jenny" };

// Create personalized PDF documents for each customer
var renderer = new ChromePdfRenderer();

foreach (var name in names)
{
    // Replace placeholder with actual data in HTML string
    var htmlInstance = htmlTemplate.Replace("[[NAME]]", name);

    // Generate personalized PDF document from HTML content
    var pdf = renderer.RenderHtmlAsPdf(htmlInstance);

    // Save with customer-specific filename as PDF files
    pdf.SaveAs($"{name}-invoice.pdf");
}
Imports IronPdf

' Define reusable HTML template for PDF files
Dim htmlTemplate As String = "<p>Dear [[NAME]],</p><p>Thank you for your order.</p>"

' Customer names for batch PDF conversion processing
Dim names As String() = {"John", "James", "Jenny"}

' Create personalized PDF documents for each customer
Dim renderer As New ChromePdfRenderer()

For Each name In names
    ' Replace placeholder with actual data in HTML string
    Dim htmlInstance As String = htmlTemplate.Replace("[[NAME]]", name)

    ' Generate personalized PDF document from HTML content
    Dim pdf = renderer.RenderHtmlAsPdf(htmlInstance)

    ' Save with customer-specific filename as PDF files
    pdf.SaveAs($"{name}-invoice.pdf")
Next
$vbLabelText   $csharpLabel

Handlebars.NET ile HTML'den PDF'e Şablonlama

HTML'yi PDF'ye dönüştürürken döngüler ve koşul ifadeleri içeren karmaşık şablonlar için, Handlebars.NET ile gelişmiş şablonlama özelliğini kullanarak dinamik HTML içeriğine sahip PDF belgeleri oluşturun.

# First, install Handlebars.NET for HTML to PDF templating
PM > Install-Paket Handlebars.NET
# First, install Handlebars.NET for HTML to PDF templating
PM > Install-Paket Handlebars.NET
SHELL
using HandlebarsDotNet;
using IronPdf;

// Define Handlebars template with placeholders for HTML content
var source = 
    @"<div class=""entry"">
        <h1>{{title}}</h1>
        <div class=""body"">
            {{body}}
        </div>
    </div>";

// Compile template for reuse in PDF conversion
var template = Handlebars.Com/pile(source);

// Create data object (can be database records) for HTML to PDF directly
var data = new { 
    title = "Monthly Report", 
    body = "Sales increased by 15% this month." 
};

// Merge template with data to create HTML content
var htmlResult = template(data);

// Convert templated HTML to PDF using the PDF converter
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlResult);

pdf.SaveAs("monthly-report.pdf");
using HandlebarsDotNet;
using IronPdf;

// Define Handlebars template with placeholders for HTML content
var source = 
    @"<div class=""entry"">
        <h1>{{title}}</h1>
        <div class=""body"">
            {{body}}
        </div>
    </div>";

// Compile template for reuse in PDF conversion
var template = Handlebars.Com/pile(source);

// Create data object (can be database records) for HTML to PDF directly
var data = new { 
    title = "Monthly Report", 
    body = "Sales increased by 15% this month." 
};

// Merge template with data to create HTML content
var htmlResult = template(data);

// Convert templated HTML to PDF using the PDF converter
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlResult);

pdf.SaveAs("monthly-report.pdf");
Imports HandlebarsDotNet
Imports IronPdf

' Define Handlebars template with placeholders for HTML content
Dim source As String = 
    "<div class=""entry"">
        <h1>{{title}}</h1>
        <div class=""body"">
            {{body}}
        </div>
    </div>"

' Compile template for reuse in PDF conversion
Dim template = Handlebars.Compile(source)

' Create data object (can be database records) for HTML to PDF directly
Dim data = New With { 
    .title = "Monthly Report", 
    .body = "Sales increased by 15% this month." 
}

' Merge template with data to create HTML content
Dim htmlResult = template(data)

' Convert templated HTML to PDF using the PDF converter
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(htmlResult)

pdf.SaveAs("monthly-report.pdf")
$vbLabelText   $csharpLabel

İLGİLİ NASIL YAPILIR Makalesi: GitHub'da Handlebars.NET hakkında daha fazla bilgi edinin

PDF Sayfa Kırılmalarını Kontrol Edin:

Üretilen PDF belgelerindeki sayfa düzenini yönetmek, HTML parçacıklarını dönüştürdüğünüzde profesyonel, okunabilir düzenler sağlar. PDF dosyalarınızda sayfanın nerede kırılacağını kontrol etmek için CSS kullanın.
<!DOCTYPE html>
<html>
  <head>
    <style type="text/css" media="print">
      .page {
        page-break-after: always;
        page-break-inside: avoid;
      }
    </style>
  </head>
  <body>
    <div class="page">
      <h1>Page 1 Content</h1>
    </div>
    <div class="page">
      <h1>Page 2 Content</h1>
    </div>
    <div class="page">
      <h1>Page 3 Content</h1>
    </div>
  </body>
</html>
<!DOCTYPE html>
<html>
  <head>
    <style type="text/css" media="print">
      .page {
        page-break-after: always;
        page-break-inside: avoid;
      }
    </style>
  </head>
  <body>
    <div class="page">
      <h1>Page 1 Content</h1>
    </div>
    <div class="page">
      <h1>Page 2 Content</h1>
    </div>
    <div class="page">
      <h1>Page 3 Content</h1>
    </div>
  </body>
</html>
HTML

Asenkron Yöntem Kullanarak PDF Nasıl Üretilir

IronPDF, büyük ölçekte PDF dosyaları üretmeniz gerektiğinde, HTML'den PDF'e dönüştürme gereksinimleriniz için tam asenkron ve çok iş parçacığı desteği ile kurumsal düzeyde performans sunar.

using IronPdf;
using System.Co/llections.Generic;
using System.Linq;
using System.Threading.Tasks;

public class PdfGenerationService
{
    // Async method for non-blocking PDF generation from HTML content
    public async Task<byte[]> GeneratePdfAsync(string html)
    {
        var renderer = new ChromePdfRenderer();

        // Async HTML to PDF conversion preserves thread pool
        var pdf = await renderer.RenderHtmlAsPdfAsync(html);

        // Return PDF files as byte array for web responses
        return pdf.BinaryData;
    }

    // Concurrent batch PDF generation for multiple HTML strings
    public async Task GenerateMultiplePdfsAsync(List<string> htmlŞablonlar)
    {
        var renderer = new ChromePdfRenderer();

        // Create parallel conversion tasks to generate PDF documents
        var tasks = htmlŞablonlar.Select(html =>
            renderer.RenderHtmlAsPdfAsync(html)
        );

        // Await all PDF conversions simultaneously
        var pdfs = await Task.WhenAll(tasks);

        // Save generated PDF files from HTML content
        for (int i = 0; i < pdfs.Length; i++)
        {
            pdfs[i].SaveAs($"document-{i}.pdf");
        }
    }
}
using IronPdf;
using System.Co/llections.Generic;
using System.Linq;
using System.Threading.Tasks;

public class PdfGenerationService
{
    // Async method for non-blocking PDF generation from HTML content
    public async Task<byte[]> GeneratePdfAsync(string html)
    {
        var renderer = new ChromePdfRenderer();

        // Async HTML to PDF conversion preserves thread pool
        var pdf = await renderer.RenderHtmlAsPdfAsync(html);

        // Return PDF files as byte array for web responses
        return pdf.BinaryData;
    }

    // Concurrent batch PDF generation for multiple HTML strings
    public async Task GenerateMultiplePdfsAsync(List<string> htmlŞablonlar)
    {
        var renderer = new ChromePdfRenderer();

        // Create parallel conversion tasks to generate PDF documents
        var tasks = htmlŞablonlar.Select(html =>
            renderer.RenderHtmlAsPdfAsync(html)
        );

        // Await all PDF conversions simultaneously
        var pdfs = await Task.WhenAll(tasks);

        // Save generated PDF files from HTML content
        for (int i = 0; i < pdfs.Length; i++)
        {
            pdfs[i].SaveAs($"document-{i}.pdf");
        }
    }
}
Imports IronPdf
Imports System.Collections.Generic
Imports System.Linq
Imports System.Threading.Tasks

Public Class PdfGenerationService
    ' Async method for non-blocking PDF generation from HTML content
    Public Async Function GeneratePdfAsync(html As String) As Task(Of Byte())
        Dim renderer As New ChromePdfRenderer()

        ' Async HTML to PDF conversion preserves thread pool
        Dim pdf = Await renderer.RenderHtmlAsPdfAsync(html)

        ' Return PDF files as byte array for web responses
        Return pdf.BinaryData
    End Function

    ' Concurrent batch PDF generation for multiple HTML strings
    Public Async Function GenerateMultiplePdfsAsync(htmlŞablonlar As List(Of String)) As Task
        Dim renderer As New ChromePdfRenderer()

        ' Create parallel conversion tasks to generate PDF documents
        Dim tasks = htmlŞablonlar.Select(Function(html) renderer.RenderHtmlAsPdfAsync(html))

        ' Await all PDF conversions simultaneously
        Dim pdfs = Await Task.WhenAll(tasks)

        ' Save generated PDF files from HTML content
        For i As Integer = 0 To pdfs.Length - 1
            pdfs(i).SaveAs($"document-{i}.pdf")
        Next
    End Function
End Class
$vbLabelText   $csharpLabel

İpuçlarıHTML'den PDF'e dönüşüm için performans optimizasyonu ipuçları

  • En iyi PDF oluşturma performansı için 64-bit sistemler kullanın.
  • PDF belgeleri ürettiğinizde yeterli sunucu kaynaklarına sahip olun (yetersiz güçteki ücretsiz katmanlardan kaçının)
  • HTML içeriğinde karmaşık JavaScript için yeterli RenderDelay sağlayın.
  • Mümkün olduğunda ChromePdfRenderer örneklerini yeniden kullanın.
  • Toplu/asenkron işlemler için kaynak kullanımını azaltmak üzere v2025.9.4 bellek düzeltmelerinden yararlanın; yenilenen özel başlıklar/altbilgiler ile dosya boyutlarının azalmasını test edin.

İLGİLİ NASIL YAZILIR MAKALE: Asenkron ve Çok İş Parçacığı ile PDF'ler Nasıl Üretilir

Gelişmiş Güvenlik Özellikleri Nasıl Eklenir

.NET'te PDF Dosyaları İçin Parola Koruması Nasıl Eklenir

HTML içeriğini korumalı PDF formatına dönüştürürken, oluşturulan hassas PDF belgelerini parolalar ve izinlerle güvence altına alın.

using IronPdf;
var renderer = new ChromePdfRenderer();

// Convert HTML to PDF with security
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Report</h1>");

// Configure security settings for PDF files
pdf.SecuritySettings.UserPassword = "user123";     // Password to open PDF documents
pdf.SecuritySettings.OwnerPassword = "owner456";   // Password to modify PDF files

// Set granular permissions for PDF format
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserPrinting = PrintPermissions.LowQualityPrint;

// Apply strong encryption to PDF documents
pdf.SecuritySettings.EncryptionAlgorithm = PdfEncryptionAlgorithm.AES256;
pdf.SaveAs("secure-document.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();

// Convert HTML to PDF with security
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Report</h1>");

// Configure security settings for PDF files
pdf.SecuritySettings.UserPassword = "user123";     // Password to open PDF documents
pdf.SecuritySettings.OwnerPassword = "owner456";   // Password to modify PDF files

// Set granular permissions for PDF format
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserPrinting = PrintPermissions.LowQualityPrint;

// Apply strong encryption to PDF documents
pdf.SecuritySettings.EncryptionAlgorithm = PdfEncryptionAlgorithm.AES256;
pdf.SaveAs("secure-document.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Convert HTML to PDF with security
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Report</h1>")

' Configure security settings for PDF files
pdf.SecuritySettings.UserPassword = "user123"     ' Password to open PDF documents
pdf.SecuritySettings.OwnerPassword = "owner456"   ' Password to modify PDF files

' Set granular permissions for PDF format
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserPrinting = PrintPermissions.LowQualityPrint

' Apply strong encryption to PDF documents
pdf.SecuritySettings.EncryptionAlgorithm = PdfEncryptionAlgorithm.AES256
pdf.SaveAs("secure-document.pdf")
$vbLabelText   $csharpLabel

PDF Dosyalarına Dijital İmzalar Nasıl Eklenir

HTML içeriğinden PDF dosyaları üretirken, PDF belgelerinin özgünlüğünü sağlamak için kriptografik imzalar ekleyin.

using IronPdf;
using IronPdf.Signing;

var renderer = new ChromePdfRenderer();

// Generate PDF from HTML page
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>");

// Create digital signature with certificate for PDF files
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "legal@company.com",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval",
    SignerName = "Authorized Signer"  // New property in v2025.8.8 for enhanced signature details
};

// Apply signature to PDF documents
pdf.Sign(signature);
pdf.SaveAs("signed-contract.pdf");
using IronPdf;
using IronPdf.Signing;

var renderer = new ChromePdfRenderer();

// Generate PDF from HTML page
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>");

// Create digital signature with certificate for PDF files
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "legal@company.com",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval",
    SignerName = "Authorized Signer"  // New property in v2025.8.8 for enhanced signature details
};

// Apply signature to PDF documents
pdf.Sign(signature);
pdf.SaveAs("signed-contract.pdf");
Imports IronPdf
Imports IronPdf.Signing

Dim renderer As New ChromePdfRenderer()

' Generate PDF from HTML page
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>")

' Create digital signature with certificate for PDF files
Dim signature As New PdfSignature("certificate.pfx", "password") With {
    .SigningContact = "legal@company.com",
    .SigningLocation = "New York, NY",
    .SigningReason = "Contract Approval",
    .SignerName = "Authorized Signer"  ' New property in v2025.8.8 for enhanced signature details
}

' Apply signature to PDF documents
pdf.Sign(signature)
pdf.SaveAs("signed-contract.pdf")
$vbLabelText   $csharpLabel

İLGİLİ NASIL YAZILIR MAKALE: C# ile PDF Belgelerini Dijital Olarak İmzalama

HTML Formlarını Doldurulabilir PDF'lere Nasıl Dönüştürürsünüz

Standart HTML form öğelerini etkileşimli, doldurulabilir PDF form alanlarına dönüştürmek için CreatePdfFormsFromHtml görüntüleme seçeneğini etkinleştirin. Bu, üretilen PDF belgesinde metin girişlerini, onay kutularını, radyo düğmelerini ve açılır menüleri düzenlenebilir alanlar olarak korur.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Enable HTML form to PDF form conversion
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

string htmlForm = @"
    <h2>Employee Onboarding Form</h2>
    <form>
        <label>Full Name:</label>
        <input type='text' name='fullName' value='' /><br/>
        <label>Department:</label>
        <select name='department'>
            <option value='engineering'>Engineering</option>
            <option value='marketing'>Marketing</option>
            <option value='sales'>Sales</option>
        </select><br/>
        <label>Agree to Terms:</label>
        <input type='checkbox' name='agreeTerms' />
    </form>";

var pdf = renderer.RenderHtmlAsPdf(htmlForm);
pdf.SaveAs("onboarding-form.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Enable HTML form to PDF form conversion
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

string htmlForm = @"
    <h2>Employee Onboarding Form</h2>
    <form>
        <label>Full Name:</label>
        <input type='text' name='fullName' value='' /><br/>
        <label>Department:</label>
        <select name='department'>
            <option value='engineering'>Engineering</option>
            <option value='marketing'>Marketing</option>
            <option value='sales'>Sales</option>
        </select><br/>
        <label>Agree to Terms:</label>
        <input type='checkbox' name='agreeTerms' />
    </form>";

var pdf = renderer.RenderHtmlAsPdf(htmlForm);
pdf.SaveAs("onboarding-form.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Enable HTML form to PDF form conversion
renderer.RenderingOptions.CreatePdfFormsFromHtml = True

Dim htmlForm As String = "
    <h2>Employee Onboarding Form</h2>
    <form>
        <label>Full Name:</label>
        <input type='text' name='fullName' value='' /><br/>
        <label>Department:</label>
        <select name='department'>
            <option value='engineering'>Engineering</option>
            <option value='marketing'>Marketing</option>
            <option value='sales'>Sales</option>
        </select><br/>
        <label>Agree to Terms:</label>
        <input type='checkbox' name='agreeTerms' />
    </form>"

Dim pdf = renderer.RenderHtmlAsPdf(htmlForm)
pdf.SaveAs("onboarding-form.pdf")
$vbLabelText   $csharpLabel

UyarıHTML'nizdeki her form alanı benzersiz bir name özniteliğine sahip olmalıdır. Tüm adlar yinelenirse, alanlar üretilen PDF'de aynı değeri paylaşır, kullanılar formu doldurduğunda beklenmedik davranışlara neden olur.

İLGİLİ NASIL YAZILIR MAKALE: C# İle Doldurulabilir PDF Formları Nasıl Oluşturulur

Belirli HTML Öğelerini PDF'e Nasıl Dönüştürürsünüz

Tam belge yerine sayfanın belirli bir bölümünü işlemek için, hedef öğeyi görsümü öncesinde izole edin. En doğrudan yaklaşım, JavaScript görüntüleme seçeneğini kullanarak belge gövdesini hedef öğenin içeriğiyle değiştirmek ve WaitFor.HtmlQuerySelector() ile birleştirerek, ayıklama işleminden önce öğenin varlığını doğrulamaktır. Aşağıdaki kod parçacığı document.head öğesini korur, böylece stil sayfaları ve yazı tipleri aktarılır — bu adım atılmazsa, üst seçicilere dayanan CSS kuralları çıkarılan PDF'de kaybolur.

Ham HTML'ye erişiminiz olan sunucu tarafı senaryolarında, AngleSharp gibi bir ayrıştırıcıyla hedef parçayı ayıklayın ve RenderHtmlAsPdf()'ye aktarın — JavaScript yürütülmesine gerek yoktur.

using IronPdf;

// Full page HTML containing the target element
string fullPageHtml = @"
<html>
<body>
    <header><h1>Acme Corp Invoice</h1></header>
    <div id='invoice-summary'>
        <h2>Invoice #12345</h2>
        <p>Total: $1,250.00</p>
    </div>
    <footer>Confidential</footer>
</body>
</html>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;

// Replace the body with only the target element
renderer.RenderingOptions.JavaScript = @"
    var el = document.querySelector('#invoice-summary');
    if (el) {
        var head = document.head.innerHTML;
        document.body.innerHTML = el.outerHTML;
        document.head.innerHTML = head;
    }
";

// Wait for the target element before JS executes
renderer.RenderingOptions.WaitFor.HtmlQuerySelector("#invoice-summary", 10000);

var pdf = renderer.RenderHtmlAsPdf(fullPageHtml);
pdf.SaveAs("invoice-summary.pdf");
using IronPdf;

// Full page HTML containing the target element
string fullPageHtml = @"
<html>
<body>
    <header><h1>Acme Corp Invoice</h1></header>
    <div id='invoice-summary'>
        <h2>Invoice #12345</h2>
        <p>Total: $1,250.00</p>
    </div>
    <footer>Confidential</footer>
</body>
</html>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;

// Replace the body with only the target element
renderer.RenderingOptions.JavaScript = @"
    var el = document.querySelector('#invoice-summary');
    if (el) {
        var head = document.head.innerHTML;
        document.body.innerHTML = el.outerHTML;
        document.head.innerHTML = head;
    }
";

// Wait for the target element before JS executes
renderer.RenderingOptions.WaitFor.HtmlQuerySelector("#invoice-summary", 10000);

var pdf = renderer.RenderHtmlAsPdf(fullPageHtml);
pdf.SaveAs("invoice-summary.pdf");
Imports IronPdf

' Full page HTML containing the target element
Dim fullPageHtml As String = "
<html>
<body>
    <header><h1>Acme Corp Invoice</h1></header>
    <div id='invoice-summary'>
        <h2>Invoice #12345</h2>
        <p>Total: $1,250.00</p>
    </div>
    <footer>Confidential</footer>
</body>
</html>"

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.EnableJavaScript = True

' Replace the body with only the target element
renderer.RenderingOptions.JavaScript = "
    var el = document.querySelector('#invoice-summary');
    if (el) {
        var head = document.head.innerHTML;
        document.body.innerHTML = el.outerHTML;
        document.head.innerHTML = head;
    }
"

' Wait for the target element before JS executes
renderer.RenderingOptions.WaitFor.HtmlQuerySelector("#invoice-summary", 10000)

Dim pdf = renderer.RenderHtmlAsPdf(fullPageHtml)
pdf.SaveAs("invoice-summary.pdf")
$vbLabelText   $csharpLabel

İLGİLİ NASIL YAZILIR MAKALE: HTML Öğeleri ve Kısmi Sayfalar Nasıl PDF'e Dönüştürülür

Kimliği Doğrulanmış Sayfaları PDF Olarak Nasıl İşlenir?

Kimlik doğrulamanın arkasında yer alan sayfaları işlemek için üç mekanizma vardır: ağ oturum açma bilgileri, özel çerezler ve HTTP istek başlıkları. Bu mekanizmalar, korumalı web içeriğini PDF'ye dönüştürürken en yaygın kimlik doğrulama senaryolarını kapsar.

Oturum Açma Bilgileri

Korunan URL'leri PDF/A'ya dönüştürürken temel, özet veya NTLM kimlik doğrulaması için ChromeHttpLoginCredentials kullanın.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure network authentication
renderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    NetworkUsername = "user@domain.com",
    NetworkPassword = "securePassword",
    AuthenticationType = ChromeHttpLoginCredentials.AuthType.Basic
};

var pdf = renderer.RenderUrlAsPdf("https://intranet.com/pany.com/reports");
pdf.SaveAs("authenticated-report.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure network authentication
renderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    NetworkUsername = "user@domain.com",
    NetworkPassword = "securePassword",
    AuthenticationType = ChromeHttpLoginCredentials.AuthType.Basic
};

var pdf = renderer.RenderUrlAsPdf("https://intranet.com/pany.com/reports");
pdf.SaveAs("authenticated-report.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Configure network authentication
renderer.LoginCredentials = New ChromeHttpLoginCredentials With {
    .NetworkUsername = "user@domain.com",
    .NetworkPassword = "securePassword",
    .AuthenticationType = ChromeHttpLoginCredentials.AuthType.Basic
}

Dim pdf = renderer.RenderUrlAsPdf("https://intranet.com/pany.com/reports")
pdf.SaveAs("authenticated-report.pdf")
$vbLabelText   $csharpLabel

Çerezler ve HTTP Başlıkları

Token tabanlı veya oturum bazlı kimlik doğrulama için, özel çerezleri ve HTTP başlıklarını doğrudan işleme isteğine ekleyin.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Add session cookies
renderer.RenderingOptions.CustomCookies["sessionId"] = "abc123token";
renderer.RenderingOptions.CustomCookies["authToken"] = "bearer-xyz";

// Add custom HTTP headers (e.g., API key or Bearer token)
renderer.RenderingOptions.CustomHttpRequestHeaders["Authorization"] = "Bearer eyJhbGciOi...";

var pdf = renderer.RenderUrlAsPdf("https://app.example.com/dashboard");
pdf.SaveAs("dashboard.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Add session cookies
renderer.RenderingOptions.CustomCookies["sessionId"] = "abc123token";
renderer.RenderingOptions.CustomCookies["authToken"] = "bearer-xyz";

// Add custom HTTP headers (e.g., API key or Bearer token)
renderer.RenderingOptions.CustomHttpRequestHeaders["Authorization"] = "Bearer eyJhbGciOi...";

var pdf = renderer.RenderUrlAsPdf("https://app.example.com/dashboard");
pdf.SaveAs("dashboard.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Add session cookies
renderer.RenderingOptions.CustomCookies("sessionId") = "abc123token"
renderer.RenderingOptions.CustomCookies("authToken") = "bearer-xyz"

' Add custom HTTP headers (e.g., API key or Bearer token)
renderer.RenderingOptions.CustomHttpRequestHeaders("Authorization") = "Bearer eyJhbGciOi..."

Dim pdf = renderer.RenderUrlAsPdf("https://app.example.com/dashboard")
pdf.SaveAs("dashboard.pdf")
$vbLabelText   $csharpLabel

İpuçlarıHTML form tabanlı oturum açma işlemlerinde (POST kullanıcı adı/şifre), önce HttpClient kullanarak kimlik doğrulaması yapmayı, ardından elde edilen çerezleri korumalı sayfayı görüntülemek için CustomCookies sözlüğüne aktarmayı düşünün.

İLGİLİ NASIL YAPILIR Makalesi: Oturum Açma Kimlik Doğrulamasıyla HTML'yi PDF'ye Nasıl Dönüştürülür

4. Bulut Platformlarında HTML'den PDF'ye Nasıl Dağıtılır

Bulut ortamlarında HTML'den PDF'ye dönüştürme, başsız işleme, geçici dosya yolları ve kaynak tahsisi için özel yapılandırma gerektirir. Bu bölüm, IronPDF ile en yaygın bulut platformları ve konteynerize dağıtımları kapsar.

Platform Min Kaynaklar Paket Otomatik Konfigürasyon Geçici Yol Önemli Nokta
Azure Uygulama Hizmeti B1 katman (Temel) IronPdf.Linux true /tmp Ücretsiz/Paylaşılan katmanlar başarısız olur — GPU yok, düşük bellek
Azure Fonksiyonları (Windows) B1 katman IronPdf true /tmp 'Paket dosyasından çalıştır' seçeneğini kaldır
AWS Lambda 512 MB / 330s zaman aşımı IronPdf.Linux true /tmp (gerekli) Varsayılan dosya sistemi salt okunur
Docker (Ubuntu/Debian) Görüntüye bağımlı IronPdf.Linux false Görüntü varsayılanı false olarak ayarla — Dockerfile bağımlılıklar ile ilgilenir

Azure Üzerinde Nasıl Dağıtılır

Azure Fonksiyonları veya Uygulama Hizmetine dağıtım yaparken, GPU hızlandırmasını devre dışı bırakın ve barındırma katmanınızın Chrome tabanlı işleme için yeterli belleği sağladığından emin olun. Bu ayarları, uygulamanın başlatılmasında, herhangi bir işleme çağrısından önce ekleyin.

Azure sanal alanları GPU erişimi olmadan çalışır ve Ücretsiz/Paylaşılan katmanlar (F1, D1) Chrome'un ihtiyaç duyduğu kaynaklardan yoksundur. B1 (Temel) katman veya üstünü hedefleyin.

using IronPdf;

// Azure sandboxes block GPU access — always disable
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
// Required on non-GUI Linux systems
IronPdf.Installation.LinuxAndDockerDependenciesOtomatik Konfigürasyon = true;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Azure PDF Report</h1>");
pdf.SaveAs("azure-report.pdf");
using IronPdf;

// Azure sandboxes block GPU access — always disable
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
// Required on non-GUI Linux systems
IronPdf.Installation.LinuxAndDockerDependenciesOtomatik Konfigürasyon = true;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Azure PDF Report</h1>");
pdf.SaveAs("azure-report.pdf");
Imports IronPdf

' Azure sandboxes block GPU access — always disable
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
' Required on non-GUI Linux systems
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True

Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Azure PDF Report</h1>")
pdf.SaveAs("azure-report.pdf")
$vbLabelText   $csharpLabel

DikkatAzure Uygulama Hizmeti Ücretsiz ve Paylaşılan katmanlar (F1, D1), Chrome tabanlı PDF işleme için yeterli kaynağa sahip değildir. Minimum olarak bir B1 (Temel) katman veya üstünü kullanarak bellek yetersizliği hatalarını ve işlem zaman aşımını önleyin.

İLGİLİ BAŞLANGIÇ Kılavuzu: IronPDF'in Azure'a Nasıl Dağıtılacağı

AWS Lambda Üzerinde Nasıl Dağıtılır

AWS Lambda, Chrome tabanlı PDF işleme için Docker tabanlı dağıtım gerektirir. Varsayılan Lambda dosya sistemi salt okunurdur, bu nedenle tüm geçici ve dağıtım yolları /tmp'ye yönlendirilmelidir.

Bu ayarları, fonksiyon işleyicinizin en üstünde, herhangi bir işleme çağrısından önce yapılandırın.

using Amazon.Lambda.Co/re;
using IronPdf;

public class PdfFunction
{
    public string FunctionHandler(string input, ILambdaContext context)
    {
        // Lambda's only writable directory
        var tmpPath = "/tmp/";

        IronPdf.Installation.TempFolderPath = tmpPath;
        IronPdf.Installation.CustomDeploymentDirectory = tmpPath;
        IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
        // Let IronPDF install Chrome dependencies on first cold start
        IronPdf.Installation.LinuxAndDockerDependenciesOtomatik Konfigürasyon = true;

        context.Logger.LogLine("Rendering PDF...");

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(input);

        // Save to /tmp before uploading to S3 or returning
        var outputPath = $"{tmpPath}output.pdf";
        pdf.SaveAs(outputPath);

        return outputPath;
    }
}
using Amazon.Lambda.Co/re;
using IronPdf;

public class PdfFunction
{
    public string FunctionHandler(string input, ILambdaContext context)
    {
        // Lambda's only writable directory
        var tmpPath = "/tmp/";

        IronPdf.Installation.TempFolderPath = tmpPath;
        IronPdf.Installation.CustomDeploymentDirectory = tmpPath;
        IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
        // Let IronPDF install Chrome dependencies on first cold start
        IronPdf.Installation.LinuxAndDockerDependenciesOtomatik Konfigürasyon = true;

        context.Logger.LogLine("Rendering PDF...");

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(input);

        // Save to /tmp before uploading to S3 or returning
        var outputPath = $"{tmpPath}output.pdf";
        pdf.SaveAs(outputPath);

        return outputPath;
    }
}
Imports Amazon.Lambda.Core
Imports IronPdf

Public Class PdfFunction
    Public Function FunctionHandler(input As String, context As ILambdaContext) As String
        ' Lambda's only writable directory
        Dim tmpPath As String = "/tmp/"

        IronPdf.Installation.TempFolderPath = tmpPath
        IronPdf.Installation.CustomDeploymentDirectory = tmpPath
        IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
        ' Let IronPDF install Chrome dependencies on first cold start
        IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True

        context.Logger.LogLine("Rendering PDF...")

        Dim renderer As New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf(input)

        ' Save to /tmp before uploading to S3 or returning
        Dim outputPath As String = $"{tmpPath}output.pdf"
        pdf.SaveAs(outputPath)

        Return outputPath
    End Function
End Class
$vbLabelText   $csharpLabel

Lütfen dikkate alınLambda fonksiyonunuzu en az 512 MB bellek ve minimum bir 60 saniyelik zaman aşımı ile yapılandırın. Chrome tabanlı işleme belleğe duyarlı olup, soğuk başlangıçlar gömülü tarayıcı motoru için ek başlatma süresi gerektirir.

İLGİLİ BAŞLANGIÇ Kılavuzu: IronPDF'in AWS Lambda'ya Nasıl Dağıtılacağı

Docker ile Nasıl Dağıtılır

Docker dağıtımları için, görüntü boyutunu küçültmek ve çalışma zamanı varlık indirmelerini önlemek amacıyla IronPdf.Linux NuGet paketini kullanın. Bu paket, konteynerize ortamlar için optimize edilmiş Linux yerel ikili dosyaları önceden içerir.

Dockerfile'ınız apt-get aracılığıyla Chrome'un paylaşılan kütüphane bağımlılıklarını zaten yüklüyorsa, LinuxAndDockerDependenciesOtomatik Konfigürasyon = false ayarını yapın. Çalışma zamanı otomatik kurulumu bu durumda gereksizdir ve izin hatalarına veya daha uzun soğuk başlangıçlara neden olabilir.

Platform Paket Anahtar Yapılandırma
Ubuntu 22.04 / Debian IronPdf.Linux Varsayılan — kutudan çıkar çıkmaz çalışır
Alpine Linux IronPdf.Linux Dockerfile'da apk aracılığıyla chromium kur
Amazon Linux 2 IronPdf.Linux LinuxAndDockerDependenciesOtomatik Konfigürasyon = true kullan
Windows Konteynerleri IronPdf Ek yapılandırma gerekmez


Bir Ubuntu/Debian tabanlı görüntü için minimal çok aşamalı bir Dockerfile:

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /app
COPY . .
RUN dotnet publish -c Release -o /out

FROM mcr.microsoft.com/dotnet/aspnet:8.0
# Install Chrome dependencies for PDF rendering
RUN apt-get update && apt-get install -y \
    libglib2.0-0 libnss3 libatk1.0-0 libatk-bridge2.0-0 \
    libcups2 libdrm2 libxkbcommon0 libxcomposite1 \
    libxdamage1 libxrandr2 libgbm1 libpango-1.0-0 \
    libcairo2 libasound2 libxshmfence1 && \
    rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=build /out .
ENTRYPOINT ["dotnet", "MyApp.dll"]


using IronPdf;

// Dependencies handled by Dockerfile apt-get — disable runtime install
IronPdf.Installation.LinuxAndDockerDependenciesOtomatik Konfigürasyon = false;
// No GPU in containers
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Dockerized PDF</h1>");
pdf.SaveAs("output.pdf");
using IronPdf;

// Dependencies handled by Dockerfile apt-get — disable runtime install
IronPdf.Installation.LinuxAndDockerDependenciesOtomatik Konfigürasyon = false;
// No GPU in containers
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Dockerized PDF</h1>");
pdf.SaveAs("output.pdf");
Imports IronPdf

' Dependencies handled by Dockerfile apt-get — disable runtime install
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = False
' No GPU in containers
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled

Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Dockerized PDF</h1>")
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

İLGİLİ BAŞLANGIÇ Kılavuzu: Docker ile IronPDF Nasıl Kullanılır

5. IronPDF'i Diğer .NET PDF Kütüphaneleri ile Karşılaştırın

IronPDF, etkili Chromium tabanlı işleme motoru, sezgisel API'ları ve sık sık yapılan ürün geliştirmeleri nedeniyle birçok ekip için C# PDF oluşturma konusunda tercih edilen çözümdür. IronPDF'i diğer PDF dönüştürücülerle karşılaştıralım ve PDF oluşturma ihtiyaçlarınız için en iyi uyumu bulalım.

Hızlı Karar Matrisi: IronPDF ve Diğer .NET PDF Dönüştürücüler

Çözüm Ne zaman kullanılır En iyi
IronPDF Modern web sitelerini/HTML'yi tam görsel sadakat ile PDF'ye dönüştürme. Güvenilir HTML işleme motoru, dinamik içerik ve profesyonel destek gerektiren kurumsal uygulamalar.
wkhtmltopdf Güncel olmayan işleme kabul edilebilir olduğunda, kritik olmayan uygulamalarda basit HTML dönüştürme. Eski HTML/CSS ile temel belge oluşturma.
Syncfusion Syncfusion ekosistemine zaten yatırım yapılmışsa veya ücretsiz topluluk lisansı almaya hak kazanılmışsa. Birden fazla Syncfusion bileşeni kullanan kuruluşlar.
Aspose.PDF HTML işleme kalitesinin daha az kritik olduğu karmaşık PDF manipülasyonu. HTML dönüştürmenin ötesinde kapsamlı PDF düzenleme özellikleri.

İLGİLİ KARŞILAŞTIRMALAR:

Detaylı Karşılaştırma: IronPDF ve Diğer .NET PDF Dönüştürücüler

Özellik ★ Önerilen IronPDF wkhtmltopdf iText Aspose.PDF Syncfusion Apryse SelectPdf Spire.PDF PDFsharp QuestPDF
İşleme ve Dönüştürme
İşleme Doğruluğu Pikselle Mükemmel En İyi Baskı Tarzı Programlanabilir Yalnızca İyi İyi İyi İyi Düşük Düzey İşleme Yok Kod-Öncelikli Düzen
HTML5 Desteği Tam Güncel Değil Eklenti Kısmi Tam Modül Tam Sınırlı Hayır Hayır (Kod-Öncelikli)
CSS3 Desteği Tam Sınırlı Eklenti Kısmi Tam Modül Tam Sınırlı Hayır Hayır (Kod-Öncelikli)
JavaScript Yürütme Tam En iyi Hayır Hayır Tartışmalı Sınırlı Sınırlı Sınırlı Çok Sınırlı Hayır Hayır
HTML→PDF (Modern Düzen) Gömülü Chromium En İyi Qt WebKit (Güncel Değil) Ücretli Eklenti Kısmi; JS Tartışmalı Blink Motoru Modül Gerektirir Tam HTML→PDF Görsel Tabanlı Hayır HTML İşlemcisi Değil
PDF→Görsel İşleme Evet Hayır Evet Evet Evet Evet Hayır Sınırlı Hayır Kendi Belgeleri Yalnızca
Belge İşlemleri
PDF'leri Programatik Olarak Oluşturma Evet Hayır Evet Evet Evet Evet Yalnızca HTML Evet Temel Evet (Akatıcı API)
Birleştirme, Bölme ve Yeniden Düzenleme Evet Hayır Evet Evet Evet Evet Evet Evet Sınırlı Evet
Üst Bilgiler / Alt Bilgiler / Sayfa Numaraları HTML/Metin/Görsel En İyi Sınırlı Evet Olaylar Aracılığıyla Olaylar Aracılığıyla Evet Şablonlar Elle Yalnızca Elle Birinci Sınıf Yuvalar
Filigranlar ve Damgalama Metin & Görsel Hayır Evet Evet Evet Evet Evet Sınırlı Hayır Evet (Kaplamalar)
PDF'lerden Metin Çıkarma Evet Hayır Evet Evet Evet Evet Evet Evet Temel Hayır
Taranmış PDF'ler için OCR IronOCR ile Entegre Hayır Eklenti Ayrı Ürün Eklenti Eklenti Hayır Geçici Çözüm Hayır Hayır
Güvenlik ve Uyumluluk
Dijital İmzalar Evet Hayır Evet Evet Evet Örnek Kod Evet Hayır Hayır Belgelendirilmemiş
PDF/A Uyum Evet (PDF/A-3B) Hayır Tam PDF/A Doğrula & Oluştur Yerli SDK Gerektirir PDF Uyumluluğu Hayır Evet Sınırlı PDF/A-2x & 3x
Platform ve Geliştirici Deneyimi
Çapraz Platform Windows · Linux · macOS Hepsi 3 İkili Dosyalara Bağlı .NET Standard 2.0 Linux Ekstra Kurulum Blink + .NET Sunucu Yerli SDK Yalnızca Windows * Sınırlı Linux Belgeleri Windows Odaklı Win/Linux/macOS
Bulut & Docker Dağıtım Azure · AWS · Docker En İyi Karmaşık; Eski Birden Fazla Paket Kısmi; Konteynerler Blink Ekstralar Gerekli Yerli Bağlı Dosyalar Yalnızca Windows Sınırlı Bilgi Basit; Hafif Docker/K8s; Yerel
Destek ve Dokümantasyon
Dokümantasyon Kapsamlı + Kopyala/Yapıştır En İyi Kısmi CLI Belgeleri Kapsamlı; KB Geniş; GitHub Yardım Merkezi Çok Dilli Katalog Başlangıç Kılavuzları Program Kılavuzu Topluluk Rehberleri Yapılandırılmış + Yardımcı Uygulama
Geliştirici Desteği 24/7 Mühendisler En İyi Sadece Topluluk Abonelik Dâhil Forum + Ücretli 24/5 Direct-Trac Ticari E-posta Forum + E-posta Sadece Topluluk Topluluk + GitHub
Lisanslama & Fiyatlandırma
Lisans Modeli Süresiz Açık Kaynak AGPL / Abonelik Süresiz Yıllık Abonelik Özel / Tüketim Süresiz Yıllık Abonelik Ücretsiz (MIT) MIT Ücretsiz / Ücretli Katmanlar
Başlangıç Fiyatı $liteLicense Süresiz · 1 Geliştirici style="color:#16a34a">Ücretsiz ~45.000 $/yıl Özel Fiyat Teklifi 1.175 $+ Geliştirici Başına 995 $/yıl Abonelik · Ücretsiz <1 milyon dolar ~9.000 $+/yıl Özel Fiyat Teklifi 499 $+ Süresiz 999 $/yıl Yıllık Abonelik style="color:#16a34a">Ücretsiz style="color:#16a34a">Ücretsiz Topluluk MIT <1 milyon dolar
Ücretsiz Deneme 30 Gün · Tüm Özellikler Sınırsız Geçerli Değil (Ücretsiz) 30 Gün Evet (Filigranlı) Community <$1M Rev Evet Topluluk (5 Sayfa) Ücretsiz (10 Sayfa) Geçerli Değil (Ücretsiz) N/A (MIT Free <$1M)
Fiyatlandırma Şeffaflığı Yayınlanmış & Net En İyi Açık Kaynak Karmaşık AGPL Birçok Katman Teklif İçin İletişim Yayınlanmış Fiyat Yok Yayınlanmış Yayınlanmış MIT; Kısıtlama Yok MIT; Güven Tabanlı

Gerçek Hayat HTML'den PDF'ye Dönüşüm Karşılaştırması: Reddit Ana Sayfasının İşlenmesi

Çıkış PDF kalitesini değerlendirmek için, bu kütüphaneleri dinamik web içeriği, modern CSS, ve JavaScript HTML öğeleri içeren Reddit'in ana sayfasıyla test ettik. Bu sayfa çıkış PDF oluşturma için ideal bir test vakası olarak hizmet veriyor.

https://www.reddit.com/

PDF dönüştürme testi için kullanılan dinamik içerik, modern stil ve etkileşimli öğeleri gösteren Reddit ana sayfasının ekran görüntüsü

IronPDF

IronPDF dönüştürme sonucu, tüm dinamik içerik, stil ve etkileşimli öğeler korunarak Reddit ana sayfasının piksel mükemmelinde görüntülenmesini göstermektedir

IronPDF, tüm dinamik web içeriğini, modern web yazı fontları stilini ve etkileşimli öğeleri Chrome'da gösterildiği gibi yalnızca birkaç satır kod ile koruyarak pixel-mükemmellikte sonuçlar sunar.

Syncfusion

Reddit ana sayfasının eksik bölümleri ve tamamlanmamış stiliyle kısmi görüntülenmesini gösteren Syncfusion PDF dönüştürme

Syncfusion, özellikle dinamik içerik olan bölümlerin çoğunu eksik bırakarak PDF'yi işledi. Başlangıçta Reddit'in güvenliği tarafından engellendi. Daha iyi sonuçlar elde etmek için kapsamlı komut satırı ayarlaması gerekli, ancak çıktı hala eksik kalıyor.

Aspose.PDF

Reddit ana sayfasından çoğu sayfa öğesinin eksik olduğu, minimum içerik yakalama gösteren Aspose.PDF dönüştürme denemesi

Aspose.PDF, önce manuel HTML indirimi gerektirdi (doğrudan URL desteği yoktur). Dönüşümden sonra, çıktı uygun formatlama ve hemen hemen tüm içerik bölümlerini eksik bıraktı, bu da onu dinamik içerikle modern web için uygunsuz hale getirdi.

wkhtmltopdf

wkhtmltopdf çıktısı, dinamik öğeler veya modern CSS içermeyen, statik ve stilsiz bir Reddit ana sayfası sürümünü göstermektedir

wkhtmltopdf hızla tamamlandı ancak canlı güncellemeler, dinamik öğeler ve etkileşimli bölümler gibi kritik içerik eksik, sade ve statik bir sayfa üretti. Bu, wkhtmltopdf'in modern, JavaScript tabanlı web siteleriyle uyumsuzluğunu gösteriyor.

Performans ve Çıkış PDF Kalitesi Üzerine Sonuç

.NET geliştiricileri için güvenilir bir HTML'den PDF'ye dönüştürücüye ihtiyaç duyanlar için IronPDF, minimal kod, kullanımı kolay API'ler ve sık ürün geliştirmeleri ile öne çıkıyor.

Gerçek dünya testinde web içeriği üzerinde en hızlı, en doğru sonuçları sunarken Syncfusion geride kaldı, Aspose ek adımlar gerektirdi ve wkhtmltopdf modern stil eksikliği yaşadı. IronPDF, bugün HTML'den PDF'ye dönüşüm iş akışları için hız, doğruluk ve basitliğin en iyi dengesini sunar.

Lütfen dikkat: Aspose, Syncfusion ve wkhtmltopdf kendi sahiplerinin tescilli markalarıdır. Bu site onlarla ilişkili veya onlar tarafından onaylanmamıştır. Tüm isimler, logolar ve markalar sahiplerine aittir ve karşılaştırmalar yazıldıkları tarihte mevcut olan halka açık bilgilere dayanmaktadır.

Özet

Bu kılavuz, .NET'te HTML'yi PDF'ye dönüştürmek için gereken her şeyi kapsıyor: temel dize dönüşümden, asenkron işlem, dijital imzalar ve toplu üretim gibi ileri düzey özelliklere kadar. Dinamik belge oluşturma için gerçek dünya testleriyle, temel yapılandırmalar, gelişmiş özellikler ve güvenlik ayarları ve diğer kütüphaneleri IronPDF ile karşılaştırarak üç dönüşüm yöntemi gösterdik.

Rakipler modern web siteleriyle mücadele ederken veya karmaşık çözümler gerektirirken, IronPDF minimal kod ve güçlü render motoru ile kusursuz sonuçlar verdi.

PDF iş akışınızı basitleştirmeye ve sadece birkaç satır kodla çok yönlü PDF üretimini deneyimlemeye hazır mısınız? NuGet Paket Yöneticisi aracılığıyla IronPDF'i yükleyin (veya Visual Studio'da Manage NuGet Paket seçin) ve ilk HTML'nizi bugün PDF'ye dönüştürün.

Üretim testi için 30 günlük ücretsiz denemenize başlayın filigransız. Esnek lisanslama, ihtiyaçlarınıza göre ölçeklenen şeffaf ekip fiyatlandırmasıyla $999'den başlar.

IronPDF Lisanslamasını Görüntüle

6. Sorun Giderme ve Teknik Destek

HTML'den PDF'ye dönüştürmede aşağıdaki hataları mı yaşıyorsunuz? IronPDF, https://ironpdf.com/ adresindeki sohbet widget'ı üzerinden 24/7 mühendis desteği sunar

Yaygın Hatalar Üzerinde Hızlı Çözümler

  • İlk render yavaş mı? Normal. Chrome 2-3 saniyede başlatılır, sonra hızlanır.
  • Bulut sorunları mı? En az Azure B1 veya eşdeğer kaynaklar kullanın.
  • Eksik varlıklar? Temel yolları ayarlayın veya base64 olarak gömün.
  • Eksik öğeler mi? JavaScript yürütmesi için RenderDelay ekleyin.
  • Bellek sorunu mu? HTML'den PDF'ye, damgalar ve başlık/alt başlıklar için düzeltmeler içeren v2025.9.4 sürümüne güncelleyin.
  • Form alanı sorunları (örneğin, uzun metin alanları, onay kutuları)? v2025.7.17'de düzeltildi; onay kutuları için benzersiz isim sağlayın.
  • Özel başlık/alt başlık kırpma veya özel karakter bozulması mı? v2025.8.8'de giderildi; kelime paketi ve meta verileri test edin.

IronPDF'i Geliştiren Mühendislerden 7/24 Yardım Alın

Sonraki Adımlar

PDF Belgelerini Birleştirme veya Bölme Nasıl Yapılır
Nasıl Yapılır Görüntüle
PDF Dosyalarına Özel Başlık ve Alt Başlık Ekleme
Nasıl Yapılır Görüntüle
PDF'de Metin ve Bölgeleri Karartma
Nasıl Yapılır Görüntüle

Sıkça Sorulan Sorular

C#'da HTML'i PDF'e nasıl dönüştürebilirim?

HTML, CSS3 ve JavaScript'i piksel mükemmelliğinde PDF'lere çeviren bir Chrome-rendering kütüphanesi kullanarak C#'da HTML'i PDF'e dönüştürebilirsiniz. İronPDF gibi araçlar, URL'lerden, HTML dizgelerinden veya dosyalardan render yapmanıza olanak tanır ve başlıklar, kimlik doğrulama ve yazdırma ayarlarını destekler.

En iyi HTML to PDF kütüphanesi .NET için hangisidir?

En iyi kütüphane, doğru Chrome renderına, çapraz platform yerleşimine ve kurumsal özelliklere destek sağlamalıdır. IronPDF, Windows, Linux, macOS ve Docker'da çalışarak güvenlik, imzalar, uyumluluk ve ölçeklenebilir .NET uygulamaları desteği ile bunların hepsini kapsar.

HTML dizgelerini C# kullanarak PDF'e nasıl dönüştürebilirim?

HTML dizgelerini PDF'e dönüştürmek için ChromePdfRenderer sınıfını ve RenderHtmlAsPdf yöntemini kullanın. HTML dizgenizi bu yönteme iletin, sonra PDF'i SaveAs kullanarak kaydedin.

C#'da bir web sayfası URL'sini PDF belgesine dönüştürme adımları nelerdir?

RenderUrlAsPdf yöntemini kullanarak bir web sayfası URL'sini doğrudan PDF'ye dönüştürebilirsiniz, bu sayede stilleri, görüntüleri ve formlar ile köprüler gibi etkileşimli öğeleri koruyabilirsiniz.

C# içinde bir HTML dosyasını PDF'ye nasıl dönüştürebilirim?

Yerel HTML dosyalarını PDF'e dönüştürmek için ChromePdfRenderer.RenderHtmlFileAsPdf("path/to/file.html") kullanın. IronPDF, tüm göreli varlık yollarını (görüntüler, CSS, JS) otomatik olarak çözer.

ASP.NET Razor Pages veya MVC Görünümlerini PDF'e nasıl dönüştürebilirim?

IronPDF, Razor Pages için IronPdf.Extensions.Razor ve MVC Görünümleri için IronPdf.Extensions.Mvc.Core adanmış uzantı paketleri sağlar. Controller'larınızdan doğrudan PDF'e dönüşüm sağlamak için bağımlılık enjeksiyonu ile RenderRazorToPdf veya RenderRazorViewToPdf kullanın. Razor rehberini inceleyin →

JavaScript içeriğinin PDF'te doğru şekilde işlenmesini nasıl sağlarım?

RenderingOptions.EnableJavaScript = true ayarını yaparak JavaScript işleme özelliğini etkinleştirin ve dinamik içeriğin dönüşümden önce tamamen yüklendiğinden emin olmak için RenderingOptions.WaitFor.RenderDelay kullanarak render gecikmesi ekleyin. WaitFor rehberini inceleyin →

C#'da bir PDF'e başlıklar ve altbilgiler eklemek için en iyi yöntem nedir?

Basit metin başlıkları ve altbilgileri için TextHeaderFooter sınıfını veya daha karmaşık HTML içeriği için HtmlHeaderFooter sınıfını kullanın. Otomatik içerik oluşturma için {page}, {total-pages} ve {date} gibi dinamik yer tutucular ekleyebilirsiniz. Başlıklar & altbilgiler rehberini inceleyin →

C# .NET'te PDF çıktısındaki sayfa kesmelerini nasıl yönetirim?

PDF'lerinizdeki sayfa kesmelerini, bir yazdırma medya türü CSS bloğu içinde page-break-after: always ve page-break-inside: avoid gibi CSS özelliklerini kullanarak kontrol edin. Sayfa kesmeleri rehberini inceleyin →

PDF'lerde kağıt boyutu ve yön belirlemek için hangi seçenekler mevcuttur?

Kağıt boyutunu RenderingOptions.PaperSize kullanarak ayarlayın (seçenekler A4, Letter, Legal vb. içerir) ve yönü RenderingOptions.PaperOrientation ile Dik veya Yatay olarak belirleyin. Milimetre veya inç cinsinden özel boyutlar da desteklenir. Kağıt boyutu rehberini inceleyin →

Kimlik doğrulamalı web sayfalarını PDF'e dönüştürebilir miyim?

Evet. IronPDF çerezler, özel HTTP başlıkları ve forma dayalı kimlik doğrulamayı destekler. Çerezleri ChromePdfRenderer.RenderingOptions.CustomCookies aracılığıyla ayarlayın veya bir token tabanlı kimlik doğrulama için oturum başlıkları iletin. Windows NTLM ve Kerberos kimlik doğrulaması da desteklenir. Çerezler rehberini inceleyin →

Tek bir HTML şablonundan birden fazla PDF oluşturabilir miyim?

Evet, yer tutucular içeren HTML şablonları oluşturun, ardından Handlebars.NET gibi dize değiştirme veya şablonlama kütüphaneleri kullanın. Yinelemeli verinizdeki yer tutucuları gerçek değerlerle değiştirdikten sonra RenderHtmlAsPdf ile PDF oluşturun.

Oluşturduğum PDF'leri şifre ile güvenli hale getirmek mümkün mü?

SecuritySettings özelliğini kullanarak, kullanıcı ve sahip parolaları belirleyebilir, yazdırma ve kopyalama gibi izinleri yapılandırabilir ve SecuritySettings.EncryptionAlgorithm ile AES256 şifrelemesi uygulayabilirsiniz. Şifreleme rehberini inceleyin →

HTML'den PDF/A uyumlu belgeler oluşturmak mümkün mü?

Evet. IronPDF, arşivleme ve erişilebilirlik uyumluluğu için PDF/A-1b, PDF/A-2b, PDF/A-3b ve PDF/UA standartlarını destekler, ki çoğu HTML to PDF dönüştürücüsü bunu sunmaz. PDF/A rehberini inceleyin →

Büyük hacimli PDF oluşturma performansını nasıl optimize ederim?

Engelleyici olmayan işlemler için RenderHtmlAsPdfAsync gibi eşzamansız yöntemler kullanarak performansı optimize edin. ChromePdfRenderer örneklerini yeniden kullanın, Task.WhenAll kullanarak birden fazla PDF'i eşzamanlı işleyin ve 64 bit sistemde yeterli sunucu kaynaklarına sahip olduğunuzdan emin olun. Aynı rehberi inceleyin →

Birden fazla PDF veya belgeye bir kapak sayfası eklemeyi nasıl yapabilirim?

Birden fazla PDF'i birleştirmek için PdfDocument.Merge statik yöntemini kullanın. Kapsamlı bir PDF oluşturmak için kapak sayfanızı ayrı olarak oluşturun ve ana belgeyle birleştirin. Birleştirme rehberini inceleyin →

IronPDF'i Azure, AWS veya Docker'de dağıtabilir miyim?

Evet. IronPDF, Azure App Service, Azure Functions, AWS Lambda ve Linux üzerindeki Docker konteynerlerinde çalışır. Her platform için özel kurulum rehberleri ve Docker görüntüleri mevcuttur. Azure rehberini inceleyin → · AWS rehberini inceleyin → · Docker rehberini inceleyin →

.NET 10 Uyumluluğu: IronPDF hemen .NET 10'u destekliyor mu?

Evet — IronPDF .NET 10 ile tamamen uyumludur. IronPDF sürüm notlarına göre, kütüphane .NET 10 projeleri için birinci günden itibaren hazırdır, ekstra yapılandırma gerektirmez. Web, konsol, masaüstü veya mikro servis uygulamaları kullansanız da, IronPDF .NET 10'da 'kutu dışı' çalışır.

IronPDF kullanmak ücretsiz mi?

IronPDF, geliştirme üzerinde tam işlevsellik ve filigran olmadan 30 günlük ücretsiz deneme sunar. Üretim kullanımı, 749 dolardan başlayan ticari lisans gerektirir. Lite, Plus, Professional ve Enterprise katmanları mevcuttur. Fiyatlandırmayı inceleyin →

Bu kütüphanenin render kalitesi, wkhtmltopdf gibi diğer seçeneklerle nasıl karşılaştırılır?

Bu kütüphane, wkhtmltopdf'un kullanımdan kalkmış WebKit motoru yerine modern bir Chrome işleme motoru kullanarak piksel mükemmelliğinde PDF'ler üretir. Sunucu çalıştırılabilir dosyaları gerektirmez, tam JavaScript/CSS3 destekler, düzenli güncellemeler alır ve profesyonel destek sunar.

HTML'den PDF'e dönüştürme için neden bu kütüphaneyi PDFSharp'a tercih etmeliyim?

PDFSharp yerleşik HTML'den PDF'e dönüştürme içermez ve karmaşık geçici çözümler gerektirir. Bu kütüphane, doğrudan HTML/URL/dosya dönüştürme, modern web teknolojileri desteği ve düzenli güncellemeler ile profesyonel destek sunan bir yüksek seviye API sunar. PDFSharp karşılaştırmasını inceleyin →

HTML dönüşümü için iTextSharp'tan daha iyi bir seçim yapan nedir?

iTextSharp'ın ücretsiz versiyonu yerel HTML'den PDF'e dönüşüm desteklemez ve karmaşık düşük seviye bir API'ye sahiptir. Bu kütüphane, sezgisel bir API ile kusursuz HTML dönüşümü, tam CSS3/JavaScript desteği ve AGPL lisans kısıtlamaları olmadan sunar. iTextSharp karşılaştırmasını inceleyin →

Bu kütüphanenin render kalitesi Aspose.PDF ile nasıl karşılaştırılır?

Bu kütüphane, Chrome kalitesinde piksel mükemmelliğinde PDF'ler üretir, oysa Aspose.PDF genellikle stilleri ve dinamik içeriği kaçırır. Aspose, URL dönüşümü için manuel HTML indirmeleri gerektirir ancak bu kütüphane URL'leri doğrudan ve üstün doğrulukla dönüştürür. Aspose karşılaştırmasını inceleyin →

Neden bu kütüphaneyi Syncfusion PDF'e tercih edebilirim?

Syncfusion yetenekli olsa da, bu kütüphanenin optimize edilmiş Chrome motoru daha hızlı performans gösterir ve dinamik içeriği daha etkili bir şekilde işler. OCR ve barkod üretimi gibi ek özellikler ve daha basit bir API sunar. Syncfusion karşılaştırmasını inceleyin →

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ...

Daha Fazla Oku
Gözden Geçiren
Jeff Fritz
Jeffrey T. Fritz
Baş Program Yöneticisi - .NET Topluluğu Ekibi
Jeff, .NET ve Visual Studio ekipleri için bir Baş Program Yöneticisidir. .NET Conf sanal konferans serisinin baş yapımcısıdır ve haftada iki kez canlı yayınlanan 'Fritz and Friends' adlı bir akış programı sunar; burada izleyicilerle birlikte teknoloji konuşur ve kod yazar. Jeff, en büyük Microsoft geliştirici etkinlikleri için atölyeler, sunumlar ve içerik planları yazar, Microsoft Build, Microsoft Ignite, .NET Conf ve Microsoft MVP Summit gibi etkinliklerde yer alır.
Başlamaya Hazır mısınız?
Nuget İndirmeler 19,014,616 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.