HTML'yi C# (Geliştirici Kılavuzu) ile PDF'ye Nasıl Dönüştürebilirim?
C# dilinde HTML'yi PDF'ye dönüştürmek basit görünebilir, ancak gerçek projeler renderleme, dağıtım ve ölçeklendirme sınırlarına ulaştığında karmaşıklaşır. Bu kılavuz, IronPDF'nin Chrome tabanlı motoru ile bunu güvenilir bir şekilde nasıl yapacağınızı gösterir, bir dakika içinde çalıştırabileceğiniz kodla başlar.
Özet Geçiş Kılavuzu: HTML'yi PDF'ye Dönüştürün
C# kullanarak IronPDF kütüphanesi ile HTML'i kolayca PDF'e dönüştürebilirsiniz, bu kütüphane, HTML, CSS ve JavaScript'ten yüksek kaliteli PDF dosyaları oluşturmak için ChromePdfRenderer.RenderHtmlAsPdf yöntemini sağlar.
-
IronPDF aşağıdaki NuGet Paket Yöneticisi ile yükleyin
-
Bu kod parçacığını kopyalayın ve çalıştırın.
new IronPdf.ChromePdfRenderer() .RenderHtmlAsPdf("<p>Hello World</p>") .SaveAs("pixelperfect.pdf"); -
Canlı ortamınızda test için dağıtım yapın
Ücretsiz deneme ile bugün projenizde IronPDF kullanmaya başlayın
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"
Bu kılavuzdaki tüm kodlar IronPDF v2026.6.1 · .NET 10 · Haziran 2026 üzerinde doğrulandı.
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.
✅ Sağlam Chrome Renderleme Motoru: HTML'den PDF'ye doğru dönüşüm için Chrome'un Blink motorunu kullanır.
✅ Piksel Mükemmelliği: üretilen PDF'ler web ile tam olarak eşleşir, yazıcı dostu bir sürüm değil.
✅ Tam Modern Web Desteği: Tüm HTML elemanları için tam CSS3, HTML5 ve JavaScript desteği.
✅ 5-20x Performans Artışı: Tarayıcı otomasyonu veya web sürücülerinden önemli ölçüde daha hızlı.
✅ PDF/UA Uyumluluğu: Bölüm 508 standartlarına uygun erişilebilir PDF üretimi.
✅ Dış Bağımlılık Yok: sunucularda kurulum gerektiren ikili dosyalar yok.
✅ Designed for C#, F#, and VB.NET on .NET 10, 9, 8, 7, 6, Core, Standard, and Framework.
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
- HTML Dizesini PDF'e Nasıl Dönüştürürsünüz
- Mevcut URL'yi PDF'e Nasıl Dışa Aktarabilirsiniz
- HTML Dosyasını PDF'e Nasıl Dönüştürürsünüz
- Razor Sayfalarını 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
- Toplu PDF Oluşturma İçin HTML Şablonu Nasıl Üretilir
- Asenkron Metod Kullanarak PDF Nasıl Üretilir
- Gelişmiş Güvenlik Özellikleri Nasıl Eklenir
- HTML Formlarını Doldurulabilir PDF'lere Nasıl Dönüştürürsünüz
- Belirli HTML Öğelerini PDF'e Nasıl Dönüştürürsünüz
- Kimlik Doğrulaması Yapılmış Sayfaları PDF'e Nasıl Görüntülersiniz
Kullanım Senaryosuna Göre HTML'yi PDF'ye Dönüştürmenin Yolunu Seç
Başlangıç noktanız konusunda emin değil misiniz? Yapmakta olduğunuz şeye uyan yola doğrudan atlayın:
| Ne üzerinde çalışıyorsunuz | Buradan başlayın |
|---|---|
| Tek seferlik bir HTML dizgesi dönüştürmek | HTML String to PDF |
| Canlı bir URL veya web sayfasını arşivlemek | URL to PDF |
| Bir Razor Sayfaları veya MVC uygulaması geliştirme | Razor / MVC to PDF |
| Toplu veya yüksek hacimli sunucu tarafı üretimi | Async & batch generation |
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'i doğrudan PDF'e dönüştürürken HTML5, CSS3, JavaScript ve görüntüleri tam anlamıyla 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")
IronPDF v2026.6.1 üzerinde doğrulandı · .NET 10 · Haziran 2026.
Çıktı
Yukarıdaki snippet'i çalıştırın ve IronPDF, tam olarak gönderdiğiniz başlığı tutan tek sayfalık bir PDF döndürür, mümkün olan en basit render:
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ı.
EnableJavaScript = true ile dinamik içeriği test edin.HTML string'iniz yerel varlıklar (görüntüler veya stil sayfaları gibi) referans alıyorsa, tüm kaynaklarla birlikte HTML içeriğini doğru bir şekilde dönüştürmek için baseUrlOrPath parametresini kullanın:
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-2.cs
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")
baseUrlOrPath parametresini verir.İ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.
Çekirdek yöntem RenderUrlAsPdf'dir, canlı bir sayfayı alır ve tek bir çağrıda render eder:
using IronPdf;
// Create a PDF from any existing web page
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.SaveAs("wikipedia.pdf");
using IronPdf;
// Create a PDF from any existing web page
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.SaveAs("wikipedia.pdf");
Imports IronPdf
' Create a PDF from any existing web page
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")
pdf.SaveAs("wikipedia.pdf")
Çıktı
Burada RenderUrlAsPdf, bir Wikipedia makalesini tüm metni, görselleri, tabloları ve tasarımı 33 sayfa boyunca korunmuş olarak statik, baskıya hazır bir PDF'ye dönüştürür:
Yazdırma vs Ekran CSS
IronPDF'i her iki CSS medya türü ile görüntülemeyi ayarlayabilirsiniz.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-4.cs
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
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.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-5.cs
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
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:
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-6.cs
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://observablehq.com/@d3/chord-diagram");
// 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://observablehq.com/@d3/chord-diagram")
' Save the interactive chart as static PDF
pdf.SaveAs("chart.pdf")
IronPDF v2026.6.1 üzerinde doğrulandı · .NET 10 · Haziran 2026.
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.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-7.cs
// Configure for optimal responsive design handling in HTML to PDF
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
İ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.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-8.cs
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
IronPDF v2026.6.1 üzerinde doğrulandı · .NET 10 · Haziran 2026.
Çıktı
RenderHtmlFileAsPdf'yı bir HTML fatura şablonuna işaret ederek, dosyanın tam tasarımı (logo, satır öğesi tablosu, toplamlar) ekstra koda ihtiyaç duymadan piksel mükemmel şekilde gelir:
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.
İ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üzeniyle birlikte) alıp tek bir çağrıda bir PDF belgesi olarak render eden RenderRazorToPdf yöntemini ekler.
Install-Paket IronPdf.Extensions.Razor
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
İ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. Önce MVC Core uzantı paketini yükleyin, ardından görünüm yolunuz ve modelinizle RenderRazorViewToPdf çağrısını yapın; IronPDF, Razor renderleme boru hattını yönetir ve tamamlanmış bir PDF çıktısı verir.
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.
Install-Paket IronPdf.Extensions.Mvc.Core
Öncelikle controller'larınızın bunu inject edebilmesi için Program.cs'niz içinde IRazorViewRenderer servisini kaydedin:
using IronPdf.Extensions.Mvc.Core;
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.Core;
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)()
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.Core;
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.Core;
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
İ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 belgelerini manipüle etme açısından, render edilen PDF'ler için ChromePdfRenderer.RenderingOptions özelliği ile kapsamlı özelleştirmeler sağlar.
| 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) | 25 |
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")
İLGİLİ NASIL YAZILIR MAKALELER:
| PDF Dönüşümünü Özelleştirin | PDF Düzenini İnceleyin |
|---|---|
Ö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, render'a bir LoginCredentials nesnesi ayarlayın. Token tabanlı veya oturum bazlı erişim için, çerezleri ve başlıkları RenderingOptions aracılığıyla RenderUrlAsPdf çağrılmadan önce 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")
İ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 yüklenen harici kaynaklarla HTML render ederken, proxy adresini RenderHtmlAsPdf()'ın üçüncü parametresi olarak geçirin. Bu, ChromePdfRenderOptions üzerinde bir özellik değil, bir yöntem parametresidir, bu yüzden render çağrısı başına ayarlanır, renderer örneği üzerinde değil.
Kimlik doğrulamalı proxy'ler için, kimlik bilgilerini URL'ye doğrudan http://user:pass@host:port formatını kullanarak yerleştirin. Parolalardaki özel karakterleri Uri.EscapeDataString() kullanarak URL kodlayın.
using IronPdf;
var renderer = new ChromePdfRenderer();
// Proxy is the third parameter, not a render option
var 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
var 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 = 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")
RenderUrlAsPdf() bir proxy parametresini kabul etmediğini unutmayın. Proxy arkasındaki canlı bir URL'yi render etmek için, malzemeyi yüklemek için proxy parametresiyle RenderHtmlAsPdf() geçirmeden önce HttpClient ile bir WebProxy konfigure edilerek HTML'i ilk olarak alı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 manipülasyonu için en iyi sonucu verir.
// 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>
Daha uzun şablonlar için PDF belgeleri üretmeniz gerektiğinde, HTML içeriğinizdeki yer tutucu değiştirmelerini kullanın:
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-16.cs
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
Handlebars.NET ile HTML'den PDF'e Şablonlama
HTML'i PDF'e dönüştürürken döngüler ve koşullu ifadelerle karmaşık şablonlar için, dinamik HTML içeriği ile PDF belgeleri oluşturmak için Handlebars.NET ile gelişmiş şablonlama kullanın.
# 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
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-21.cs
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.Compile(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")
İ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>
Asenkron Yöntem Kullanarak PDF Nasıl Üretilir
IronPDF, HTML'yi PDF'ye çevirme gereksinimleriniz için, asenkron ve çok iş parçacıklı destekle kurumsal düzey performans sunar, büyük ölçekli PDF dosyaları oluşturmanız gerektiğinde.
using IronPdf;
using System.Collections.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.Collections.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
IronPDF v2026.6.1 üzerinde doğrulandı · .NET 10 · Haziran 2026.
- 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 son bellek düzenlemelerinden yararlanın, kaynak kullanımını azaltı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.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-24.cs
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 = PdfPrintSecurity.PrintLowQuality;
// 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 = PdfPrintSecurity.PrintLowQuality
' Apply strong encryption to PDF documents
pdf.SecuritySettings.EncryptionAlgorithm = PdfEncryptionAlgorithm.AES256
pdf.SaveAs("secure-document.pdf")
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. İmzalandıktan sonra, denetimler ve uyumluluk kontrolleri için imzayı doğrulayın ve imza sertifikasını okuyun.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-25.cs
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"
};
// 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"
}
' Apply signature to PDF documents
pdf.Sign(signature)
pdf.SaveAs("signed-contract.pdf")
IronPDF v2026.6.1 üzerinde doğrulandı · .NET 10 · Haziran 2026.
İ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 render etme 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.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-26.cs
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 = 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")
name özelliği olması gerekir. 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. Belge gövdesini hedef öğenin içeriğiyle değiştirmek için en doğrudan yaklaşım JavaScript render etme seçeneğini kullanmaktır, WaitFor.HtmlQuerySelector() ile birleştirerek öğenin çıkarılmadan önce var olduğunu garanti eder. Aşağıdaki kod parçası document.head'i koruyor, böylece stil levhaları ve yazı tipleri aktarılarak taşınıyor; Bu adım olmadan, kök seçicilere dayanan CSS kuralları, çıkarılan PDF'de kaybedilecektir.
Sunucu tarafı senaryolar için ham HTML'e erişiminizin olduğu durumlarda, AngleSharp gibi bir parser ile hedef parçayı çıkarın ve RenderHtmlAsPdf()'e geçirin, JavaScript yürütmeye gerek kalmadan.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-27.cs
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")
İ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
Korumalı URL'leri PDF'e dönüştürürken temel, digest veya NTLM kimlik doğrulaması için ChromeHttpLoginCredentials kullanın.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-28.cs
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.company.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.company.com/reports")
pdf.SaveAs("authenticated-report.pdf")
Ç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.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-29.cs
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.HttpRequestHeaders["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.HttpRequestHeaders("Authorization") = "Bearer eyJhbGciOi..."
Dim pdf = renderer.RenderUrlAsPdf("https://app.example.com/dashboard")
pdf.SaveAs("dashboard.pdf")
HttpClient kullanarak kimlik doğrulaması yapmayı, ardından korunmuş sayfayı render etmek için elde edilen çerezleri CustomCookies sözlüğüne geçirmeyi 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
IronSuite, operasyonlarımızda kritik bir rol oynar. Bunlar, iş süreçlerinde verimliliği artıran, kat planları oluşturmak ve envanter yönetimini geliştirmek gibi araçlardı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 (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 / 60s 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 ayarlayın (Dockerfile bağımlılıkları yönetir)
|
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.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-30.cs
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.LinuxAndDockerDependenciesAutoConfig = 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")
İ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 yüzden tüm geçici ve dağıtım yolları /tmp'ya işaret etmelidir.
Bu ayarları, fonksiyon işleyicinizin en üstünde, herhangi bir işleme çağrısından önce yapılandırın.
using Amazon.Lambda.Core;
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.Core;
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
İ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 azaltmak ve çalışma zamanı varlık indirmelerinden kaçınmak için IronPdf.Linux NuGet paketini kullanın. Bu paket, konteynerize ortamlar için optimize edilmiş Linux yerel ikili dosyaları önceden içerir.
Dockerfile'ının Chrome'un paylaşılan kütüphane bağımlılıklarını apt-get üzerinden zaten kurduğunda LinuxAndDockerDependenciesOtomatik Konfigürasyon = false ayarlayı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 direkt ç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:10.0 AS build
WORKDIR /app
COPY . .
RUN dotnet publish -c Release -o /out
FROM mcr.microsoft.com/dotnet/aspnet:10.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"]
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-33.cs
using 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;
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")
IronPDF v2026.6.1 üzerinde doğrulandı · .NET 10 · Haziran 2026.
İ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.
Ücretsiz ve Açık Kaynak Alternatifler
Dikkate alınabilecek bazı araçlar:
- PuppeteerSharp: başsız Chrome yönetimini sağlayan, MIT lisanslı bir .NET taşıma ortamı.
- Playwright for .NET: Microsoft's Apache-2.0 otomasyon kütüphanesi, ayrıca Chromium tabanlı.
- wkhtmltopdf: uzun süredir devam eden bağımsız bir HTML'den PDF'ye ikili dosya.
- Yerel tarayıcı rotaları: başsız tarayıcı veya İS yazıcı sürücüsünden doğrudan PDF'ye yazdırma.
İlk olarak ayrılması gereken bir ayrım: PuppeteerSharp ve Playwright, PDF kütüphaneleri yerine tarayıcı otomasyonu çerçeveleridir. Gerçek Chromium üstünde bir PDF'ye yazdırma çağrısı sunuyorlar, bu nedenle render doğruluğu mükemmel, ancak başlıklar ve altbilgiler, şifreleme, imzalar ve PDF/A gibi PDF'e özgü detaylar, tarayıcının yaşam döngüsüyle beraber size bırakılmış: Chromium ikilisinin sevki ve güncellenmesi, eş zamanlılık ve çökme kurtarma yönetimi ve belge yapısının elle oluşturulması. Playwright erken bilmeniz gereken bir kısıt ekler: {{$--CODE-233--@@ sadece headless Chromium'da çalışır (Firefox veya WebKit değil), bu yüzden dağıtımlar headless Chrome'u garanti etmelidir, bu kaplar ve sunucusuz ortamlarda önemlidir.
wkhtmltopdf ise başka bir şekilde konumlanır. Proje 2024 yılında arşive kaldırıldı ve son sürümü (0.12.6, 2020), kritik bir SSRF danışmanlığından (CVE-2022-35583) yamalanmamış ve daha fazla güvenlik yaması almayacak şekilde, ~2012 Qt WebKit motorunda çalışır; güvenilir girişleri olan basit statik belgeler için işe yarayabilir, ancak kamusal yüzlü çıktılar için daha az uygundur. Yerel tarayıcı rotaları, herhangi bir kütüphane gerektirmez, herhangi bir .NET yerel PDF API veya sunucu tarafı otomasyon üzerinde gerçek bir kontrol maliyetiyle gelir.
Prototipler, dahili araçlar ve sıfır bütçeli işler için bunlar meşru seçeneklerdir. Aşağıdaki karşılaştırma, ticari kütüphanelerin özelliklerini özellik bazında kapsar.
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
Show the full feature-by-feature table (10 .NET PDF libraries)
| Ö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 | Süresiz | Ü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 | Özel Fiyat Teklifi Ücretsiz <M (Topluluk) | ~9.000 $+/yıl Özel Fiyat Teklifi | 499 $+ Süresiz | 9 Süresiz · 1 yıl güncellemeler | 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.

IronPDF

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

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

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 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.
Ö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ı ile $999 da başlar.
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
RenderDelayekleyin. - Bellek sorunu mu? HTML'den PDF'ye, damgalar ve üstbilgi/altbilgi düzeltmeleri için en son sürüme (v2026.6.1) 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
- Kapsamlı sorun giderme rehberi
- Performans optimizasyon stratejileri
- Mühendislik destek talepleri
- Hızlı sorun giderme kontrol listesi
Sonraki Adımlar
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.
.NET için ücretsiz HTML'den PDF'ye seçenekler nelerdir?
wkhtmltopdf, PuppeteerSharp ve Playwright gibi açık kaynak çözümleri, HTML'yi PDF'ye ücretsiz dönüştürür, ancak kolaylık karşılığında bakım gerektirir — eski tarayıcı motorları, birlikte paketlenmiş tarayıcı ikili dosyaları veya manuel sunucu yapılandırması gerektirebilir. IronPDF ticari olup, geliştirme sırasında tam özellikli ve filigransız 30 günlük ücretsiz bir deneme sunar; üretim lisansları $999'den başlar. Fiyatlandırmayı görün →
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 →
HTML'den PDF'ye çıktım neden boş veya eksik içerikli?
Boş veya kısmi bir PDF neredeyse her zaman sayfanın yakalandığında tamamlanmış olmadığı veya varlıklarının yüklenmediği anlamına gelir. Dinamik veya JavaScript tabanlı içerik için, RenderingOptions.EnableJavaScript = true ayarlayın ve Chrome'un önce boyamayı bitirmesi için bir WaitFor.RenderDelay (veya WaitFor.HtmlQuerySelector) ekleyin. Yerel resimler, CSS veya yazı tipleri eksikse, göreli yolların doğru şekilde çözülmesi için bir BaseUrlPath iletin. WaitFor kılavuzunu görün →
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ştirmede tam işlevsellik ve su işaretleri olmadan 30 günlük ücretsiz bir deneme sunar. Üretim kullanımı için $999'den başlayan bir ticari lisans gereklidir. Lite, Plus, Professional ve Enterprise kademeleri mevcuttur. Fiyatlandırmayı görün →
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 →

