Convert HTML to PDF in .NET Core using C# with IronPDF
Modern .NET uygulamalarında, doğrudan HTML'den yüksek sadakatli PDF'ler üretmek rutin bir gereksinimdir: raporlar, faturalar ve biletler, web arayüzüne uygun, pikselle mükemmel çıktıya ihtiyaç duyar. IronPDF, HTML, Razor görünümleri ve tam web sitelerini standartlarla uyumlu PDF belgelerine render eden tek bir C# API sunarak bu iş akışını düzene sokar. Bu kılavuzun sonunda, bir geliştirici bir URL'yi, ham HTML'yi veya MVC görünümlerini bir ASP.NET Core projesinde çevirebilmek, ve aynı kodu Windows, Linux, Docker veya sunucusuz ortamlarda uygulamak mümkün olacak.
Hızlı Başlangıç: .NET Core'da HTML'den PDF Oluşturun
IronPDF kütüphanesini kullanarak .NET Core'da HTML'yi kolaylıkla PDF'ye dönüştürün. Bu kılavuz, HTML içeriğini minimum kod ile yüksek kaliteli bir PDF'ye çevirmek için hızla başlayabilmeniz için basit bir örnek sunar. Uygulamalarında kolaylıkla PDF oluşturmayı birleştirmek isteyen geliştiriciler için mükemmeldir.
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronPdf yükleyin
PM > Install-Package IronPdf -
Bu kod parçasını kopyalayıp çalıştırın.
var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello World</h1>"); -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronPDF kullanmaya başlayın ücretsiz deneme ile
Minimal İş Akışı (5 adımda)
IronPdfNuGet paketini kurunRenderUrlAsPdfile bir web sitesi URL'sini dönüştürünRenderHtmlAsPdfile ham HTML'yi render edin- Bir MVC görünümünü PDF'ye aktarın
- Kağıt boyutunu, kenar boşluklarını, üstbilgileri ve altbilgileri ayarlayın
Hızlı Başlangıç Kontrol Listesi
- Kurulum –
Install-Package IronPdf - Bir URL'yi Render Etme –
ChromePdfRenderer.RenderUrlAsPdf() - Ham HTML Render Etme –
ChromePdfRenderer.RenderHtmlAsPdf() - Bir Razor görünümünü Dışa Aktarma –
ChromePdfRenderer.RenderHtmlAsPdfAsync() - Çıkışı ince ayar – yararlanın
ChromePdfRenderer.RenderingOptions
Bu Eğitici Neleri Kapsıyor
- URL, HTML dizesi ve Razor görünüm dönüştürme
- Kağıt, kenar boşluğu ve medya türü yapılandırması
- Platformlar arası dağıtım (Windows, Linux, Docker)
- İşlem sonrası: birleştirme, filigran, parola ile koruma ve PDF'leri dijital olarak imzalama
- Uçtan uca örnek: bilet rezervasyon MVC uygulaması
.NET Core'a PDF kütüphanesini nasıl yüklerim?
Kütüphanenin yüklenmesi, herhangi bir .NET 8 projesinde tek satırdır ve .NET 9 önizleme ve upcoming .NET 10 sürümü ile ileri uyumludur. NuGet'in Paket Yöneticisi Konsolunu kullanın ve paket yöneticisi tüm bağımlılıkları otomatik olarak Windows, Linux, Docker ve sunucusuz hedefler için çözer.
PM> Install-Package IronPdf # .NET 8 LTS and higher
PM> Install-Package IronPdf # .NET 8 LTS and higher
dotnet add package IronPdf ile çalışır.Yüklendikten sonra, herhangi bir herkese açık URL'yi dönüştürerek her şeyin doğru bağlandığını doğrulayın:
// Program.cs — .NET 8 LTS
using IronPdf;
var renderer = new ChromePdfRenderer();
// Render a live website to PDF
using PdfDocument pdf = renderer.RenderUrlAsPdf("https://example.com");
// Persist to disk
pdf.SaveAs("website-snapshot.pdf");
// Program.cs — .NET 8 LTS
using IronPdf;
var renderer = new ChromePdfRenderer();
// Render a live website to PDF
using PdfDocument pdf = renderer.RenderUrlAsPdf("https://example.com");
// Persist to disk
pdf.SaveAs("website-snapshot.pdf");
' Program.cs — .NET 8 LTS
Imports IronPdf
Private renderer = New ChromePdfRenderer()
' Render a live website to PDF
Private PdfDocument As using
' Persist to disk
pdf.SaveAs("website-snapshot.pdf")
Nasıl çalışır
ChromePdfRenderer, ayrı bir Chrome kurulumu gerektirmeden arka planda bir sanal Chromium örneği oluşturur.RenderUrlAsPdf, JavaScript destekli içerik, CSS medya sorguları ve yazı tipleri dahil olmak üzere tam olarak render edilen DOM'u yakalar.- Oluşturulan
PdfDocument, dökümanı birleştirme, şifre koruma veya dijital imzalama gibi yardımcı metotlar barındırır - bu özellikler bu öğreticide daha sonra ele alınmıştır.
Dağıtım ayrıntıları (Azure App Service, AWS Lambda, kurum içi Linux) hakkında daha fazla ayrıntı için, kurulum kılavuzu ve gelişmiş NuGet kurulumu sayfalarına bakın. Docker ve K8s kümeleri için iç CI/CD ipuçları Docker dağıtım en iyi uygulamaları içinde ele alınmaktadır.
.NET Core servisi bir canlı web sitesi URL'sini PDF'ye nasıl dönüştürebilir?
Tek bir RenderUrlAsPdf çağrısı yeterlidir: Herhangi bir genel erişime açık URL'yi iletin ve IronPDF, tam olarak render edilmiş, standartlara uygun bir PDF döndürür. Aşağıdaki kod .NET 8 LTS'yi hedefler ve .NET 9 önizleme ile 2025'teki yaklaşan .NET 10 sürümünde değişmeden derlenir.
Adım adım örnek
// Program.cs — .NET 8 LTS-compatible
using IronPdf;
// 1. Activate a license (or trial key)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// 2. Create a reusable renderer instance
var renderer = new ChromePdfRenderer
{
RenderingOptions =
{
// Force A4 portrait output and apply @media print styles
PaperSize = PdfPaperSize.A4,
CssMediaType = PdfCssMediaType.Print
}
};
// 3. Convert Microsoft Docs home page to PDF
using PdfDocument pdf = renderer.RenderUrlAsPdf("https://learn.microsoft.com/");
// 4. Save the PDF or stream it from a Web API
pdf.SaveAs("docs-offline-copy.pdf");
// Program.cs — .NET 8 LTS-compatible
using IronPdf;
// 1. Activate a license (or trial key)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// 2. Create a reusable renderer instance
var renderer = new ChromePdfRenderer
{
RenderingOptions =
{
// Force A4 portrait output and apply @media print styles
PaperSize = PdfPaperSize.A4,
CssMediaType = PdfCssMediaType.Print
}
};
// 3. Convert Microsoft Docs home page to PDF
using PdfDocument pdf = renderer.RenderUrlAsPdf("https://learn.microsoft.com/");
// 4. Save the PDF or stream it from a Web API
pdf.SaveAs("docs-offline-copy.pdf");
' Program.cs — .NET 8 LTS-compatible
Imports IronPdf
' 1. Activate a license (or trial key)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
' 2. Create a reusable renderer instance
Dim renderer = New ChromePdfRenderer With {
.RenderingOptions = {
PaperSize = PdfPaperSize.A4,
CssMediaType = PdfCssMediaType.Print
}
}
' 3. Convert Microsoft Docs home page to PDF
Using pdf As PdfDocument = renderer.RenderUrlAsPdf("https://learn.microsoft.com/")
' 4. Save the PDF or stream it from a Web API
pdf.SaveAs("docs-offline-copy.pdf")
End Using
Neden çalışıyor
ChromePdfRendererbir sanal Chromium örneği oluşturur - sistemde Chrome bağımlılığını ortadan kaldırarak Docker görüntülerini ince tutar.RenderUrlAsPdf, DOM ve JavaScript bitene kadar bekler, böylece tek sayfa uygulamaları doğru şekilde render edilir.CssMediaType'u Yazdırma olarak ayarlamak, motorun belirli yazdırma kurallarını kullanmasını, bir tarayıcının Yazdır → PDF olarak Kaydet çıktısına uygun hale getirir.- Oluşturulan
PdfDocumentşifrelenebilir, dijital olarak imzalanabilir, birleştirilebilir veya rasterize edilebilir - bu özellikler sonraki bölümlerde ele alınmıştır.
renderer.LoggingOptions.DebugMode = true etkinleştirin ve canlı DevTools'u incelemek için başsız-Chrome hata ayıklama kılavuzunu takip edin.İlgili kaynaklar
- API referansı –
ChromePdfRenderer.RenderUrlAsPdf - API referansı –
PdfDocument.SaveAs - Eğitici – IronPDF'yi Docker konteynerlerinde dağıtın
Ham HTML'yi .NET Core'da PDF'ye nasıl dönüştürürüm?
Bir HTML dizesi—veya bir Razor görünümünün render edilmiş işaretlemesi—ChromePdfRenderer.RenderHtmlAsPdf ile geçtiğinde hemen standartlara uygun bir PDF oluşturur. Yöntem, IronPDF'nin gömülü Chromium motorunu başlatır, bu nedenle harici bir tarayıcı kurulumu veya WebView bağımlılığı gerekmez. Aşağıdaki kod .NET 8 LTS'de bugün derlenir ve Kasım 2025'de planlanan .NET 10 sürümü ve sonrası ile ileri uyumlu kalır.
Örnek — bir HTML parçasından PDF oluşturun
// Program.cs — compatible with .NET 8 and newer
using IronPdf;
// Sample HTML fragment (could also be read from a file, Razor view, or CMS)
const string html = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Quarterly Report</title>
<style>
body { font-family:'Segoe UI', sans-serif; margin:1.2rem; }
header { margin-bottom:2rem; }
h1 { color:#3056d3; }
table { width:100%; border-collapse:collapse; margin-top:1rem; }
th,td { border:1px solid #ddd; padding:0.5rem; text-align:right; }
tr:nth-child(even){ background-color:#f8f9fa; }
</style>
</head>
<body>
<header><h1>Q2 Revenue Summary</h1></header>
<table>
<thead><tr><th>Product</th><th>Revenue ($)</th></tr></thead>
<tbody>
<tr><td>IronPDF for .NET</td><td>1,200,000</td></tr>
<tr><td>IronOCR for .NET</td><td>890,000</td></tr>
<tr><td>IronXL for .NET</td><td>610,000</td></tr>
</tbody>
</table>
</body>
</html>
""";
// 1. Create a renderer once and reuse it across conversions
var renderer = new ChromePdfRenderer
{
RenderingOptions =
{
PaperSize = PdfPaperSize.A4, // ISO-standard paper size
PaperOrientation = PdfPaperOrientation.Portrait,
CssMediaType = PdfCssMediaType.Screen, // Respect on-screen CSS
RenderDelay = 100, // Wait 100 ms for JS/animations
FallbackEncoding = "utf-8" // Handle non-ASCII correctly
}
};
// 2. Render the HTML fragment
using PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
// 3. Persist to disk or return via ASP.NET Core FileStreamResult
pdf.SaveAs("q2-report.pdf");
// Program.cs — compatible with .NET 8 and newer
using IronPdf;
// Sample HTML fragment (could also be read from a file, Razor view, or CMS)
const string html = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Quarterly Report</title>
<style>
body { font-family:'Segoe UI', sans-serif; margin:1.2rem; }
header { margin-bottom:2rem; }
h1 { color:#3056d3; }
table { width:100%; border-collapse:collapse; margin-top:1rem; }
th,td { border:1px solid #ddd; padding:0.5rem; text-align:right; }
tr:nth-child(even){ background-color:#f8f9fa; }
</style>
</head>
<body>
<header><h1>Q2 Revenue Summary</h1></header>
<table>
<thead><tr><th>Product</th><th>Revenue ($)</th></tr></thead>
<tbody>
<tr><td>IronPDF for .NET</td><td>1,200,000</td></tr>
<tr><td>IronOCR for .NET</td><td>890,000</td></tr>
<tr><td>IronXL for .NET</td><td>610,000</td></tr>
</tbody>
</table>
</body>
</html>
""";
// 1. Create a renderer once and reuse it across conversions
var renderer = new ChromePdfRenderer
{
RenderingOptions =
{
PaperSize = PdfPaperSize.A4, // ISO-standard paper size
PaperOrientation = PdfPaperOrientation.Portrait,
CssMediaType = PdfCssMediaType.Screen, // Respect on-screen CSS
RenderDelay = 100, // Wait 100 ms for JS/animations
FallbackEncoding = "utf-8" // Handle non-ASCII correctly
}
};
// 2. Render the HTML fragment
using PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
// 3. Persist to disk or return via ASP.NET Core FileStreamResult
pdf.SaveAs("q2-report.pdf");
' Program.cs — compatible with .NET 8 and newer
Imports IronPdf
' Sample HTML fragment (could also be read from a file, Razor view, or CMS)
Private Const html As String = "<!DOCTYPE html>
<html lang=""en"">
<head>
<meta charset=""utf-8"">
<title>Quarterly Report</title>
<style>
body { font-family:'Segoe UI', sans-serif; margin:1.2rem; }
header { margin-bottom:2rem; }
h1 { color:#3056d3; }
table { width:100%; border-collapse:collapse; margin-top:1rem; }
th,td { border:1px solid #ddd; padding:0.5rem; text-align:right; }
tr:nth-child(even){ background-color:#f8f9fa; }
</style>
</head>
<body>
<header><h1>Q2 Revenue Summary</h1></header>
<table>
<thead><tr><th>Product</th><th>Revenue ($)</th></tr></thead>
<tbody>
<tr><td>IronPDF for .NET</td><td>1,200,000</td></tr>
<tr><td>IronOCR for .NET</td><td>890,000</td></tr>
<tr><td>IronXL for .NET</td><td>610,000</td></tr>
</tbody>
</table>
</body>
</html>"
' 1. Create a renderer once and reuse it across conversions
Private renderer = New ChromePdfRenderer With {
.RenderingOptions = {
PaperSize = PdfPaperSize.A4,
PaperOrientation = PdfPaperOrientation.Portrait,
CssMediaType = PdfCssMediaType.Screen,
RenderDelay = 100,
FallbackEncoding = "utf-8"
}
}
' 2. Render the HTML fragment
Private PdfDocument As using
' 3. Persist to disk or return via ASP.NET Core FileStreamResult
pdf.SaveAs("q2-report.pdf")
Kodun gösterdiği şey
- Gömülü Chromium -- IronPDF, modern tarayıcılarla HTML5, CSS3 ve JavaScript eşdeğerliliğini garanti eden Chromium motoru ile birlikte gelir.
- Tek bağımlılık -- Bir hafif bir NuGet kurulumu, ek sistem kütüphaneleri olmadan Windows, Linux, Docker ve Azure/AWS'yi kapsar.
- Render seçenekleri --
PaperSize,CssMediaTypeveRenderDelay, tarayıcı yazdırma ayarlarını yansıtır, böylece PDF'ler ekrandaki düzenlerle eşleşir. - Geleceğe yönelik hedefleme -- API yüzeyi, .NET 8, .NET 9 STS ve yaklaşan .NET 10'dan aynı kalır, bu nedenle uzun vadeli bakım minimaldir.
- Son işlem kancaları --
PdfDocument, dokümanı birleştirme, parola koruması ve dijital imzalar için yardımcı araçları barındırır; her biri bu kılavuzun ilerleyen bölümlerinde ele alınmıştır.
Daha fazla okuma: adım adım HTML-dizesi-PDF öğreticisine ve tam ChromePdfRenderer API belgesine bakın.
Bir ASP .NET Core MVC görünümü PDF olarak nasıl dışa aktarılır?
IronPDF, tam olarak işlenmiş bir Razor görünümü ( .cshtml ) bir tarayıcı ile aynı şekilde render eder ve sonucu bir PdfDocument olarak aktarır. Aşağıdaki iş akışı, denetleyici mantığını temiz tutar, tarayıcı eklentileri gerektirmez ve .NET 8 LTS, .NET 9 önizleme ve Kasım 2025'te planlanan .NET 10 sürümü ile çalışır.
Uçtan uca denetleyici örneği
// TicketsController.cs — .NET 8 LTS / MVC
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using YourApp.Models; // TicketViewModel
public class TicketsController : Controller
{
private readonly ChromePdfRenderer _renderer;
public TicketsController()
{
_renderer = new ChromePdfRenderer
{
RenderingOptions =
{
PaperSize = PdfPaperSize.A5, // Compact ticket size
PaperOrientation = PdfPdfOrientation.Portrait,
FitToPaperWidth = true,
CssMediaType = PdfCssMediaType.Print,
Margins = new PdfMargins(5, 10, 5, 10) // mm
}
};
}
// GET /Tickets/Print/42
public async Task<IActionResult> Print(int id)
{
TicketViewModel vm = await _service.GetTicketAsync(id);
// 1. Render the Razor view to an HTML string
string html = await RazorTemplateEngine.RenderViewAsync(
HttpContext, "~/Views/Tickets/Print.cshtml", vm);
// 2. Convert HTML → PDF
using PdfDocument pdf = _renderer.RenderHtmlAsPdf(html);
// 3. Stream back as a file
return File(pdf.BinaryData, "application/pdf",
$"ticket-{id}.pdf");
}
}
// TicketsController.cs — .NET 8 LTS / MVC
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using YourApp.Models; // TicketViewModel
public class TicketsController : Controller
{
private readonly ChromePdfRenderer _renderer;
public TicketsController()
{
_renderer = new ChromePdfRenderer
{
RenderingOptions =
{
PaperSize = PdfPaperSize.A5, // Compact ticket size
PaperOrientation = PdfPdfOrientation.Portrait,
FitToPaperWidth = true,
CssMediaType = PdfCssMediaType.Print,
Margins = new PdfMargins(5, 10, 5, 10) // mm
}
};
}
// GET /Tickets/Print/42
public async Task<IActionResult> Print(int id)
{
TicketViewModel vm = await _service.GetTicketAsync(id);
// 1. Render the Razor view to an HTML string
string html = await RazorTemplateEngine.RenderViewAsync(
HttpContext, "~/Views/Tickets/Print.cshtml", vm);
// 2. Convert HTML → PDF
using PdfDocument pdf = _renderer.RenderHtmlAsPdf(html);
// 3. Stream back as a file
return File(pdf.BinaryData, "application/pdf",
$"ticket-{id}.pdf");
}
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Imports YourApp.Models ' TicketViewModel
Public Class TicketsController
Inherits Controller
Private ReadOnly _renderer As ChromePdfRenderer
Public Sub New()
_renderer = New ChromePdfRenderer With {
.RenderingOptions = New PdfRenderingOptions With {
.PaperSize = PdfPaperSize.A5, ' Compact ticket size
.PaperOrientation = PdfPdfOrientation.Portrait,
.FitToPaperWidth = True,
.CssMediaType = PdfCssMediaType.Print,
.Margins = New PdfMargins(5, 10, 5, 10) ' mm
}
}
End Sub
' GET /Tickets/Print/42
Public Async Function Print(id As Integer) As Task(Of IActionResult)
Dim vm As TicketViewModel = Await _service.GetTicketAsync(id)
' 1. Render the Razor view to an HTML string
Dim html As String = Await RazorTemplateEngine.RenderViewAsync(
HttpContext, "~/Views/Tickets/Print.cshtml", vm)
' 2. Convert HTML → PDF
Using pdf As PdfDocument = _renderer.RenderHtmlAsPdf(html)
' 3. Stream back as a file
Return File(pdf.BinaryData, "application/pdf", $"ticket-{id}.pdf")
End Using
End Function
End Class
Bu kod neyi anlatıyor
- Geçici dosyalar yok -- Razor görünümü hafızada render edilir, ardından doğrudan
RenderHtmlAsPdf'e geçirilir, disk G/Ç ve temp-klasör yarış durumu'ndan kaçınılır. - Bilet boyutunda çıktı --
PaperSize = A5ve dar kenar boşlukları, evde yazdırılan biletlerin kompakt kalmasını sağlar. - Tutarlı yazdırma stilleri --
CssMediaType = Print, tarayıcıların kullandığı aynı@media printCSS kurallarını uygular. - İkili akış --
pdf.BinaryData, belgeyi dosya sistemine dokunmadan akışa aktarır; API uç noktaları ve Lambda işlevleri için idealdir. - Tekrar kullanılabilir render edici --
ChromePdfRendererher denetleyici için bir kez oluşturulur ve ardından yeniden kullanılır, işlem başlatma yükünü en aza indirir.
KağıtBüyüklüğü, KağıtYönü, KağıtGenişliğineUygun
Kenar Boşlukları, Üstbilgi, Altbilgi, Filigran
Sonraki adım: şifreleme, dijital imzalar ekleyin veya birden fazla bileti tek bir dosyada birleştirin. Birleştirme örneğine ve dijital imza nasıl yapılır kılavuzuna bakın.
Rendirmeden önce kağıt boyutunu, kenar boşluklarını, üstbilgileri, filigranları ve güvenliği nasıl ince ayar yapabilirim?
IronPDF, çıkışın her yönünü kontrol eden tek bir ChromePdfRenderOptions nesnesini ortaya çıkarır—kağıt boyutları, yönlendirme, üstbilgiler ve altbilgiler, JavaScript zamanlaması, filigranlar, şifreleme ve dijital imzalar—ek ekstra tarayıcı eklentilerine gerek yok.
Kod örneği — birden fazla seçeneği aynı anda uygulayın
// AdvancedOptions.cs — .NET 8 compatible
using IronPdf;
var renderer = new ChromePdfRenderer();
// Configure everything in one place
renderer.RenderingOptions = new ChromePdfRenderOptions
{
// 1. Page layout
PaperSize = PdfPaperSize.A4, // ISO size
PaperOrientation = PdfPdfOrientation.Portrait,
Margins = new PdfMargins { Top = 20, Bottom = 25, Left = 15, Right = 15 }, // mm
// 2. Timing & media
CssMediaType = PdfCssMediaType.Print, // Respect @media print
EnableJavaScript = true,
RenderDelay = 200, // Wait 200 ms for animations
// 3. Headers & footers (HTML gives full design freedom)
HtmlHeader = "<header style='font:14px Segoe UI'>Invoice — {{date}}</header>",
HtmlFooter = "<footer style='text-align:right;font-size:10px'>Page {{page}} / {{total-pages}}</footer>",
// 4. Watermark
Watermark = new HtmlStamp
{
HtmlTemplate = "<div style='font-size:50px;color:#cccccc;opacity:0.3;'>CONFIDENTIAL</div>",
VerticalAlignment = VerticalAlignment.Center,
HorizontalAlignment = HorizontalAlignment.Center
},
// 5. Security
SecurityOptions = new PdfSecurityOptions
{
OwnerPassword = "StrongOwnerPwd!",
UserPassword = "ReadOnly",
AllowUserPrinting = false,
AllowUserCopyPasteContent = false
}
};
// Render any HTML
using PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Advanced Options Demo</h1>");
// Digitally sign with a PFX certificate (optional)
pdf.SignAndStamp("./certs/company.pfx", "Iron Software", "Bangkok", "Approval");
// Save
pdf.SaveAs("advanced-options-demo.pdf");
// AdvancedOptions.cs — .NET 8 compatible
using IronPdf;
var renderer = new ChromePdfRenderer();
// Configure everything in one place
renderer.RenderingOptions = new ChromePdfRenderOptions
{
// 1. Page layout
PaperSize = PdfPaperSize.A4, // ISO size
PaperOrientation = PdfPdfOrientation.Portrait,
Margins = new PdfMargins { Top = 20, Bottom = 25, Left = 15, Right = 15 }, // mm
// 2. Timing & media
CssMediaType = PdfCssMediaType.Print, // Respect @media print
EnableJavaScript = true,
RenderDelay = 200, // Wait 200 ms for animations
// 3. Headers & footers (HTML gives full design freedom)
HtmlHeader = "<header style='font:14px Segoe UI'>Invoice — {{date}}</header>",
HtmlFooter = "<footer style='text-align:right;font-size:10px'>Page {{page}} / {{total-pages}}</footer>",
// 4. Watermark
Watermark = new HtmlStamp
{
HtmlTemplate = "<div style='font-size:50px;color:#cccccc;opacity:0.3;'>CONFIDENTIAL</div>",
VerticalAlignment = VerticalAlignment.Center,
HorizontalAlignment = HorizontalAlignment.Center
},
// 5. Security
SecurityOptions = new PdfSecurityOptions
{
OwnerPassword = "StrongOwnerPwd!",
UserPassword = "ReadOnly",
AllowUserPrinting = false,
AllowUserCopyPasteContent = false
}
};
// Render any HTML
using PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Advanced Options Demo</h1>");
// Digitally sign with a PFX certificate (optional)
pdf.SignAndStamp("./certs/company.pfx", "Iron Software", "Bangkok", "Approval");
// Save
pdf.SaveAs("advanced-options-demo.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Configure everything in one place
renderer.RenderingOptions = New ChromePdfRenderOptions With {
' 1. Page layout
.PaperSize = PdfPaperSize.A4, ' ISO size
.PaperOrientation = PdfPdfOrientation.Portrait,
.Margins = New PdfMargins With {.Top = 20, .Bottom = 25, .Left = 15, .Right = 15}, ' mm
' 2. Timing & media
.CssMediaType = PdfCssMediaType.Print, ' Respect @media print
.EnableJavaScript = True,
.RenderDelay = 200, ' Wait 200 ms for animations
' 3. Headers & footers (HTML gives full design freedom)
.HtmlHeader = "<header style='font:14px Segoe UI'>Invoice — {{date}}</header>",
.HtmlFooter = "<footer style='text-align:right;font-size:10px'>Page {{page}} / {{total-pages}}</footer>",
' 4. Watermark
.Watermark = New HtmlStamp With {
.HtmlTemplate = "<div style='font-size:50px;color:#cccccc;opacity:0.3;'>CONFIDENTIAL</div>",
.VerticalAlignment = VerticalAlignment.Center,
.HorizontalAlignment = HorizontalAlignment.Center
},
' 5. Security
.SecurityOptions = New PdfSecurityOptions With {
.OwnerPassword = "StrongOwnerPwd!",
.UserPassword = "ReadOnly",
.AllowUserPrinting = False,
.AllowUserCopyPasteContent = False
}
}
' Render any HTML
Using pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Advanced Options Demo</h1>")
' Digitally sign with a PFX certificate (optional)
pdf.SignAndStamp("./certs/company.pfx", "Iron Software", "Bangkok", "Approval")
' Save
pdf.SaveAs("advanced-options-demo.pdf")
End Using
Bu seçenekler neden önemlidir
PaperSize,MarginsveCssMediaType, tarayıcıların yazdırma diyalog penceresini yansıtır, böylece ekrandaki düzenler ve PDF, Windows, Linux ve Docker üzerinde aynı kalır.- HTML üstbilgileri ve altbilgileri Razor belirteçlerini, CSS ve JavaScript'i destekler—dinamik sayfa numaraları veya markalama için kullanışlıdır.
HtmlStamp, tek bir satır ile markalı filigranlar oluşturmanızı sağlar tam HTML + CSS kontrolü ile.- Güvenlik seçenekleri üçüncü taraf araçlara ihtiyaç duymadan 128-bit şifreleme, sahip/kullanıcı parolaları ve ince ayar izinleri sağlar.
- Dijital imzalar koda doğrudan bir kriptografik mühür ekler, yasal özgünlük ve tahrifat kanıtını korur.
ExtractAllTextveExtractAllImagesgibi çıkarım yardımcıları, analiz gerektiğinde süreci tersine çevirir.
Hızlı referans — Popüler ayarlar
KağıtBüyüklüğü, KağıtYönü, Kenar Boşlukları, CssMedyaTürü, RenderGecikmesi
HtmlÜstbilgi, HtmlAltbilgi, dinamik Razor yer tutucuları, sayfa numarası belirteçleri
Filigran, HtmlDamga, opaklık, hizalama
GüvenlikSeçenekleri, İmzalaVeDamgala, sahip / kullanıcı parolaları, sertifika mühürleme
Sonraki görevler: birden fazla PDF birleştirin, metin ve resimleri çıkarın ve Docker veya serversız dağıtım yapın. Çapraz platform uyumunu sağlamak için dağıtım bölümüne devam edin.
PDF üretim kodunu Linux ve Windows'ta Docker'a nasıl dağıtabilirim?
IronPDF, tek bir kendine yeten NuGet paketi olarak gönderilir, bu nedenle bir ASP.NET Core (veya konsol) uygulamasını hem Windows hem de Linux üzerinde kapsülleştirmek kolaydır. Anahtar, yayınlanan ikili dosyaları ince bir çalışma zamanına kopyalamak ve Linux'ta IronPDF'nin gerektirdiği (libnss3 ve libatk1.0-0) iki yerel kütüphaneyi eklemektir.
Çok aşamalı Dockerfile (Ubuntu 22.04)
####### ---------- stage 1 ----------
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY ["MyPdfApp.csproj", "."]
RUN dotnet restore
COPY . .
RUN dotnet publish -c Release -o /app/publish
####### ---------- stage 2 ----------
FROM mcr.microsoft.com/dotnet/aspnet:8.0-jammy
######## Install two native libs required by Chromium
RUN apt-get update && \
apt-get install -y --no-install-recommends libnss3 libatk1.0-0 && \
rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "MyPdfApp.dll"]
mcr.microsoft.com/dotnet/aspnet:8.0-windowsservercore-ltsc2022 ile değiştirin—ek paketler gerekmez çünkü Chromium DLL'leri paketlenmiştir.Uçtan uca doğrulama skripti
docker build -t pdf-demo .
docker run --rm -p 8080:80 pdf-demo
######### ↳ Navigate to http://localhost:8080/api/pdf?url=https://example.com
docker build -t pdf-demo .
docker run --rm -p 8080:80 pdf-demo
######### ↳ Navigate to http://localhost:8080/api/pdf?url=https://example.com
- API işlemi,
ChromePdfRenderer.RenderUrlAsPdf'yi dahili olarak çağırır, aynen Bölüm 2'de olduğu gibi. - IronPDF, kabı içine gömülü bir Chromium prosedürünü başlatır—başsız olarak işleyeceği için bir X sunucusu gerekmez.
- Bellek kullanımı büyük işlenmeler sırasında bile 200 MB'ı geçmez.
libnss3 ve libatk1.0-0'nin mevcut olduğunu doğrulayın. Alpine görüntüleri desteklenmez çünkü musl C library gerekli sembolleri barındırmaz.Dahili kaynaklar
- Eğitici – IronPDF'yi Docker konteynerlerinde dağıtın
- Nasıl yapılır – Linux Azure App Service üzerinde IronPDF çalıştırma
- API referansı –
ChromePdfRenderersınıfı
Mevcut PDF'ler .NET Core'da nasıl açılır, birleştirilir, filigran eklenir ve içerik çıkarılır?
IronPDF, ister IronPDF, ister Adobe® Acrobat, isterse üçüncü taraf araçlar tarafından oluşturulmuş olsun her PDF'yi, kalitede kayıp olmadan açılabilen, düzenlenebilen, güvenlik altına alınabilen ve tekrar kaydedilebilen birinci sınıf bir PdfDocument nesnesi olarak ele alır. Aynı API yüzeyi bugün .NET 8 LTS üzerinde çalışır ve .NET 9 ön izlemesinde ve yakında çıkacak .NET 10 sürümünde değişmeden derlenir.
Birleştirilmiş örnek — aç → birleştir → filigran ekle → çıkar
// ManipulateExistingPdf.cs — .NET 8 LTS compatible
using IronPdf;
using System.Linq;
// Step 1: Open two existing files (password-protected PDFs are supported)
PdfDocument invoice = PdfDocument.FromFile("invoice.pdf", "ReadOnly"); // open with user pwd
PdfDocument tAndCs = PdfDocument.FromFile("terms.pdf"); // no pwd required
// Step 2: Merge them (invoice pages first, then T&Cs)
PdfDocument mergedPdf = PdfDocument.Merge(invoice, tAndCs); // 1-liner merge
// Step 3: Apply a diagonal CONFIDENTIAL watermark to every page
mergedPdf.ApplyStamp(
"<div style='font-size:60px;color:#d9534f;opacity:0.2;transform:rotate(-45deg);"
+ "width:100%;text-align:center;'>CONFIDENTIAL</div>",
verticalAlignment : VerticalAlignment.Center,
horizontalAlignment : HorizontalAlignment.Center);
// Step 4: Extract all text and the first image for audit purposes
string fullText = mergedPdf.ExtractAllText();
var image = mergedPdf.ExtractAllImages().FirstOrDefault();
// Step 5: Save or stream
mergedPdf.SaveAs("invoice-with-terms.pdf");
// ManipulateExistingPdf.cs — .NET 8 LTS compatible
using IronPdf;
using System.Linq;
// Step 1: Open two existing files (password-protected PDFs are supported)
PdfDocument invoice = PdfDocument.FromFile("invoice.pdf", "ReadOnly"); // open with user pwd
PdfDocument tAndCs = PdfDocument.FromFile("terms.pdf"); // no pwd required
// Step 2: Merge them (invoice pages first, then T&Cs)
PdfDocument mergedPdf = PdfDocument.Merge(invoice, tAndCs); // 1-liner merge
// Step 3: Apply a diagonal CONFIDENTIAL watermark to every page
mergedPdf.ApplyStamp(
"<div style='font-size:60px;color:#d9534f;opacity:0.2;transform:rotate(-45deg);"
+ "width:100%;text-align:center;'>CONFIDENTIAL</div>",
verticalAlignment : VerticalAlignment.Center,
horizontalAlignment : HorizontalAlignment.Center);
// Step 4: Extract all text and the first image for audit purposes
string fullText = mergedPdf.ExtractAllText();
var image = mergedPdf.ExtractAllImages().FirstOrDefault();
// Step 5: Save or stream
mergedPdf.SaveAs("invoice-with-terms.pdf");
' ManipulateExistingPdf.cs — .NET 8 LTS compatible
Imports IronPdf
Imports System.Linq
' Step 1: Open two existing files (password-protected PDFs are supported)
Private invoice As PdfDocument = PdfDocument.FromFile("invoice.pdf", "ReadOnly") ' open with user pwd
Private tAndCs As PdfDocument = PdfDocument.FromFile("terms.pdf") ' no pwd required
' Step 2: Merge them (invoice pages first, then T&Cs)
Private mergedPdf As PdfDocument = PdfDocument.Merge(invoice, tAndCs) ' 1-liner merge
' Step 3: Apply a diagonal CONFIDENTIAL watermark to every page
mergedPdf.ApplyStamp("<div style='font-size:60px;color:#d9534f;opacity:0.2;transform:rotate(-45deg);" & "width:100%;text-align:center;'>CONFIDENTIAL</div>", verticalAlignment := VerticalAlignment.Center, horizontalAlignment := HorizontalAlignment.Center)
' Step 4: Extract all text and the first image for audit purposes
Dim fullText As String = mergedPdf.ExtractAllText()
Dim image = mergedPdf.ExtractAllImages().FirstOrDefault()
' Step 5: Save or stream
mergedPdf.SaveAs("invoice-with-terms.pdf")
Neden önemli
- Aç & Birleştir –
PdfDocument.FromFileherhangi bir standartlara uygun PDF'yi yükler, şifreli dosyalar dahil,PdfDocument.Mergeise tek bir çağrıda keyfi sayıda belgeyi birleştirir. - Filigran –
ApplyStamp(takma adHtmlStamp) tam anlamıyla şekillendirilmiş HTML/CSS kaplamalarını, logo, QR kodu veya çapraz metin olarak seçili sayfalara raster olmadan yerleştirir. - İçerik çıkarımı –
ExtractAllTextveExtractAllImages, sonraki arşivleme veya AI hatları için ham UTF-8 metni veya ikili görüntü akışlarını çeker. - Dijital imzalara hazır – aynı
PdfDocumentörneği,SignAndStampile mühürlenebilir, RFC 3161-uyumlu hash'leri üreterek ISO 32000-2 dijital imza gereklilikleri ile uyum sağlar. - Açık standart uyumluluğu – IronPDF, orijinal PDF yapısını (yazı tipleri, katmanlar, XMP meta verileri) korur, böylece çıktı Adobe® Reader ve diğer ISO 32000-1 görüntüleyicileri ile uyumlu kalır.
- Geleceğe dayanıklı – API, interop montajlarını ve Win32 GDI çağrılarını önler, böylece kod Windows, Linux, Docker ve gelecekteki .NET 10 sunucusuz SKU'ları üzerinde değişmeden çalışır.
Sayfaları böl, döndür veya silme ihtiyaçı mı var? Ayrıntılı işlemler için sayfa düzeyinde düzenleme eğitimine bakın.
PDF'ler .NET Core'da nasıl şifrelenir ve dijital olarak imzalanır?
IronPDF, bir belgeyi iki adımda güvence altına alır: AES tabanlı şifreleme (kullanıcı/sahip şifreleri + ayrıntılı izinler) ve X.509 dijital imzaları dosyayı kriptografik bir karma ile mühürler. Her iki API de aynı PdfDocument nesnesi üzerinde yer alır, bu nedenle iş akışı .NET 8 LTS üzerinde bugün aynı, .NET 9 önizleme ve yaklaşan .NET 10 sürümünde değişmeden derlenir.
Örnek — 256-bit AES uygulayın, yazdırma haklarını kilitleyin ve görünür bir imza ekleyin
// SecureAndSign.cs — .NET 8 LTS compatible
using IronPdf;
// Step 1: Load an existing PDF (or produce one with RenderHtmlAsPdf)
PdfDocument pdf = PdfDocument.FromFile("financial-report.pdf");
// Step 2: Configure AES-256 encryption & permissions
pdf.SecuritySettings = new PdfSecuritySettings
{
EncryptionAlgorithm = PdfEncryptionAlgorithm.AES256Bit,
OwnerPassword = "IronAdmin!2025",
UserPassword = "ReadOnly",
AllowUserPrinting = PdfPrintSecurity.Disabled,
AllowUserCopyPasteContent = false,
AllowUserAnnotations = false
};
// Step 3: Digitally sign with a PFX certificate
pdf.SignAndStamp(
certificatePath : "./certs/ironsoftware.pfx",
authority : "Iron Software Ltd.",
location : "Chicago, IL",
reason : "Final approval"
);
// Step 4: Persist or stream
pdf.SaveAs("financial-report-secured-signed.pdf");
// SecureAndSign.cs — .NET 8 LTS compatible
using IronPdf;
// Step 1: Load an existing PDF (or produce one with RenderHtmlAsPdf)
PdfDocument pdf = PdfDocument.FromFile("financial-report.pdf");
// Step 2: Configure AES-256 encryption & permissions
pdf.SecuritySettings = new PdfSecuritySettings
{
EncryptionAlgorithm = PdfEncryptionAlgorithm.AES256Bit,
OwnerPassword = "IronAdmin!2025",
UserPassword = "ReadOnly",
AllowUserPrinting = PdfPrintSecurity.Disabled,
AllowUserCopyPasteContent = false,
AllowUserAnnotations = false
};
// Step 3: Digitally sign with a PFX certificate
pdf.SignAndStamp(
certificatePath : "./certs/ironsoftware.pfx",
authority : "Iron Software Ltd.",
location : "Chicago, IL",
reason : "Final approval"
);
// Step 4: Persist or stream
pdf.SaveAs("financial-report-secured-signed.pdf");
' SecureAndSign.cs — .NET 8 LTS compatible
Imports IronPdf
' Step 1: Load an existing PDF (or produce one with RenderHtmlAsPdf)
Private pdf As PdfDocument = PdfDocument.FromFile("financial-report.pdf")
' Step 2: Configure AES-256 encryption & permissions
pdf.SecuritySettings = New PdfSecuritySettings With {
.EncryptionAlgorithm = PdfEncryptionAlgorithm.AES256Bit,
.OwnerPassword = "IronAdmin!2025",
.UserPassword = "ReadOnly",
.AllowUserPrinting = PdfPrintSecurity.Disabled,
.AllowUserCopyPasteContent = False,
.AllowUserAnnotations = False
}
' Step 3: Digitally sign with a PFX certificate
pdf.SignAndStamp(certificatePath := "./certs/ironsoftware.pfx", authority := "Iron Software Ltd.", location := "Chicago, IL", reason := "Final approval")
' Step 4: Persist or stream
pdf.SaveAs("financial-report-secured-signed.pdf")
Perde arkası
- AES-256 şifreleme -- IronPDF, yükü NIST onaylı AES anahtarları ile sarar, izinsiz açmayı, yazdırmayı veya kopyala-yapıştırı engeller.
- İzin ayrıntıları --
AllowUserPrintingveAllowUserFormDatagibi özellikler, eylem başına hakları değiştirir; herhangi bir kısıtlamanın etkili olabilmesi için bir sahip şifresi gereklidir. - Dijital imzalar --
SignAndStamp, RFC 3161 zaman damgalarını ve sertifika zincirini yerleştirir, tahrifat kanıtı oluşturulan hash'leri Adobe® Acrobat ve diğer ISO 32000-2 görüntüleyiciler tarafından tanınan şekilde üretir. - Tek durak API -- hem şifreleme hem de imzalama, aynı
PdfDocumentörneğini değiştirir, çoklu dosya geçişlerinden kaçınılır ve dahili fontlar, katmanlar ve meta veriler korunur.
location dizelerinin ASCII temiz olduğundan emin olun.Temel güvenlik ayarları
PdfSecuritySettings → OwnerPassword, UserPassword, EncryptionAlgorithm, AllowUserPrinting
PdfDocument.SignAndStamp — PFX yol, yetki, konum, sebep, zaman damgası
Daha derin dalışlar için dahili kaynaklar
- Eğitim – Bir PDF'yi şifre ile koruma
- Örnek – Bir PDF'yi dijital olarak imzalama
- API referansı –
PdfSecuritySettings
HTML-to-PDF performansı .NET Core'da nasıl optimize edilir ve ölçeklendirilir?
IronPDF'nin Chromium motoru, çoğu sayfayı modern donanımda < 1 s'de işler, ancak performans işlemleri toplu yapma, çok iş parçacığı etkinleştirme ve başlıksız Chrome yükünü azaltma ile katlanabilir. Aşağıdaki ipuçları, tüm .NET sürümlerine eşit olarak uygulanır.
1. Arka plan iş parçası havuzunda işlemleri toplu yapın
// BatchRender.cs — Thread-safe on .NET 8+
using IronPdf;
using System.Threading.Tasks;
var htmlSources = Directory.GetFiles("./html", "*.html");
var renderer = new ChromePdfRenderer(); // reuse 1 instance
Parallel.ForEach(htmlSources, new ParallelOptions { MaxDegreeOfParallelism = Environment.ProcessorCount }, file =>
{
string html = File.ReadAllText(file);
using PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(Path.ChangeExtension(file, ".pdf"));
});
// BatchRender.cs — Thread-safe on .NET 8+
using IronPdf;
using System.Threading.Tasks;
var htmlSources = Directory.GetFiles("./html", "*.html");
var renderer = new ChromePdfRenderer(); // reuse 1 instance
Parallel.ForEach(htmlSources, new ParallelOptions { MaxDegreeOfParallelism = Environment.ProcessorCount }, file =>
{
string html = File.ReadAllText(file);
using PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(Path.ChangeExtension(file, ".pdf"));
});
' BatchRender.cs — Thread-safe on .NET 8+
Imports IronPdf
Imports System.Threading.Tasks
Private htmlSources = Directory.GetFiles("./html", "*.html")
Private renderer = New ChromePdfRenderer() ' reuse 1 instance
Parallel.ForEach(htmlSources, New ParallelOptions With {.MaxDegreeOfParallelism = Environment.ProcessorCount}, Sub(file)
Dim html As String = File.ReadAllText(file)
Using pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs(Path.ChangeExtension(file, ".pdf"))
End Using
End Sub)
ChromePdfRendereriş parçacığı güvenliği sağlar; tek bir örnek, kilitlenme olmadan onlarca eşzamanlı görevi hizmet edebilir.Parallel.ForEachher CPU çekirdeğini maksimum verimle kullanır; tipik sunucular, tek iş parçacıklı bir döngüye kıyasla 4–6× daha fazla performans artışı görür.- Eğer ASP.NET istekleri sıra halindeyse, ağır işlemleri barındırılan bir arka plan hizmetine veya mesaj kuyruğuna taşıyın böylece yanıtlama süreleri düşük kalır.
2. Başlıksız Chrome başlangıç maliyetini azaltın
IronPDF kendi Chromium yapısını birlikte gönderir, ancak her işlem küçük bir başlangıç vergisi getirir. Havuzlama yardımcı olur ve Linux konteynerleri iki yerel kütüphaneleri içermelidir:
RUN apt-get update && \
apt-get install -y --no-install-recommends libnss3 libatk1.0-0
Missing either library manifests as a libnss3.so not found error in Docker logs.
Recommended Chrome flags (automatically applied by IronPDF) include --disable-gpu and --no-sandbox to reduce memory and root-user issues in containers.
3. Geç JavaScript'i beklemek için RenderDelay veya WaitFor kullanın
Sayfalar, DOMContentLoaded'den sonra sayaçları animasyon yapabilir veya veri çekebilir; kısa bir gecikme gerekebilir:
renderer.RenderingOptions.RenderDelay = 200; // ms
// OR: renderer.RenderingOptions.JavaScript = "WaitFor('window.doneLoading')";
renderer.RenderingOptions.RenderDelay = 200; // ms
// OR: renderer.RenderingOptions.JavaScript = "WaitFor('window.doneLoading')";
renderer.RenderingOptions.RenderDelay = 200 ' ms
' OR: renderer.RenderingOptions.JavaScript = "WaitFor('window.doneLoading')";
Özel sözler ve DOM sorgulama için özel WaitFor eğitimi bölümüne bakın.
4. Bir istek için hata ayıklama günlüklerini etkinleştirin
renderer.LoggingOptions.DebugMode = true;
renderer.LoggingOptions.LogsToConsole = true;
renderer.LoggingOptions.LogFilePath = "./logs/ironpdf-debug.log";
renderer.LoggingOptions.DebugMode = true;
renderer.LoggingOptions.LogsToConsole = true;
renderer.LoggingOptions.LogFilePath = "./logs/ironpdf-debug.log";
renderer.LoggingOptions.DebugMode = True
renderer.LoggingOptions.LogsToConsole = True
renderer.LoggingOptions.LogFilePath = "./logs/ironpdf-debug.log"
Canlı DevTools izleyicileri, eksik yazı tiplerini, 404 resimlerini ve zamanlama olaylarını, kodu derlemeye gerek kalmadan gösterir.
5. Tekrar işlemeden önce PDF şablonlarını yeniden kullanın
Fatura çalıştırmaları için, [[name]] gibi yer tutucularla bir şablon PDF oluşturun ve karmaşık HTML'yi yeniden oluşturmaktan ziyade metin değiştirme yapın. Bu işlem 10× daha hızlıdır ve bellek açısından hafiftir.
Hızlı Ayarlama Kontrol Listesi
Parallel.ForEach, async/await, tek bir ChromePdfRenderer yeniden kullanın
aspnet:8.0-jammy kullanın; libnss3 + libatk1.0-0 kurun; bayraklar --no-sandbox, --disable-gpu
RenderDelay, WaitFor(), yavaş SPA hidrate etmeleri için DevTools zaman çizelgesini günlüğe kaydedin
Daha Fazla Okuma
- Nasıl yapılır – asenkron/multi-threading ile PDF üretme
- Sorun Giderme – Performans yardım merkezi
- Örnek – Threading ile işleme demosu
Ücretsiz deneme nasıl indirilir, lisans seçilir ve uzman desteği nerede bulunur? {#anchor-10-resources}
30 günlük deneme anahtarı anında Ücretsiz Denemeye Başla formundan alınır ve HTML-to-PDF, dijital imzalar ve şifreleme dahil her özelliği—filigran olmadan—kilitlemez.
Kütüphaneyi değerlendirmenizin ardından, süresiz bir geliştirici, dağıtım veya şirket lisansı seçiniz; her plan ücretsiz küçük güncellemeler, geliştirme/sürüm/onay kullanım hakları ve 30 günlük para iade garantisi içerir. Anahtarı uygulamak, bir satır koddur (IronPdf.License.LicenseKey = "YOUR-KEY";) ve CI/CD hatlarına otomatikleştirilebilir.
Kapsamlı belgeler—hızlı başlangıç kılavuzları, API referansı ve tutorial videoları—doküman portalında bulunur ve her .NET sürümü için güncellenir.
Mühendislik sorularına bir iş günü içinde canlı sohbet, e-posta veya telefonla Chicago tabanlı destek ekibi tarafından yanıt verilir.
Performans ayarlama ve dağıtım SSS'leri, Performans Yardım Merkezinde bir araya getirilmiştir.
Hızlı bağlantılar
| Kaynak | URL | Neden önemli |
|---|---|---|
| 30 günlük deneme anahtarı alın | https://ironpdf.com/demos/ |
Filigran olmadan her özelliği kilitle |
| Lisanslama & fiyatlandırma | https://ironpdf.com/licensing/ |
Süresiz veya abonelik planları; Iron Suite 10 kitaplığı bir araya getirir |
| API referansı | https://ironpdf.com/object-reference/api/ |
Tam sınıf dokümanları, örn. ChromePdfRenderer |
| Belgeler portalı | https://ironpdf.com/docs/ |
Kılavuzlar, eğitici videolar, örnek projeler |
| Performans yardımı | https://ironpdf.com/troubleshooting/ironpdf-performance-assistance/ |
Optimizasyon ve ölçeklendirme ipuçları |
| Destek ile iletişim | https://ironsoftware.com/contact-us/ |
Canlı sohbet, e-posta, telefon desteği |
Sonraki adımlar
- Örnek depo klonla her önemli özelliği—MVC görünüm işlemeden AES-256 şifrelemeye kadar—demonstrasyon yapar.
- Deneme anahtarı ekle var olan bir çözüme ekleyin ve çapraz-platform uyumluluğunu doğrulamak için birim testlerini çalıştırın.
- Canlı bir demo rezervasyon yapın mühendislik ekibi ile proje özel tavsiyeleri için.
Bu kaynaklarla, herhangi bir .NET ekibi tek sprint içinde prodüksiyona—yerel, Docker'da veya sunucusuz,—piksel mükemmelliğinde PDF'ler gönderebilir.
Sıkça Sorulan Sorular
.NET Core ile HTML'yi PDF'ye nasıl dönüştürebilirim?
HTML'yi .NET Core'da PDF'ye dönüştürmek için IronPDF kütüphanesini kullanabilirsiniz. İlk olarak, IronPDF NuGet paketini yükleyin, ardından bir ChromePdfRenderer örneği oluşturun. HTML dizgilerini PDF'lere dönüştürmek için RenderHtmlAsPdf yöntemini kullanın.
Bir web sitesi URL'sini PDF belgesine nasıl dönüştürebilirim?
Bir web sitesi URL'sini PDF belgesine dönüştürmek için IronPDF NuGet paketini yükleyin, bir ChromePdfRenderer örneği oluşturun ve URL'yi bir PDF'ye işlemek için RenderUrlAsPdf yöntemini kullanın. Sonuç, SaveAs yöntemi kullanılarak kaydedilebilir.
Razor görünümlerini PDF'lere dönüştürmenin en iyi yolu nedir?
Razor görünümlerini PDF'lere dönüştürmenin en iyi yolu IronPDF kullanmaktır. Öncelikle, Razor görünümünü bir HTML dizgisine dönüştürün, ardından bu dizgiyi bir PDF belgesi oluşturmak için RenderHtmlAsPdf yöntemine iletin.
PDF belgelerimin güvenliğini nasıl artırabilirim?
PDF güvenliğini IronPDF kullanarak AES-256 şifrelemesi uygulayarak, parolalar ayarlayarak ve kullanıcı izinlerini kontrol ederek artırabilirsiniz. Yazdırma ve düzenleme gibi eylemleri kısıtlamak için bu ayarları SecuritySettings özelliği üzerinden yapılandırın.
PDF işleme özelleştirme seçenekleri nelerdir?
IronPDF, ChromePdfRenderOptions sınıfı üzerinden çeşitli işleme seçenekleri sunar, bunlar arasında kağıt boyutu, yönlendirme, kenar boşlukları ve CSS medya türleri ayarlama bulunur. Ayrıca, özelleştirilmiş belge çıktısı için başlıklar, altbilgiler ve filigranlar ekleyebilirsiniz.
Bir PDF oluşturma uygulamasını bir Docker konteynerinde nasıl dağıtırım?
Bir PDF oluşturma uygulamasını bir Docker konteynerinde dağıtmak için Dockerfile dosyanızda Linux bağımlılıklarını yapılandırın ve kullanıcı izinlerini ayarlayın. Otomatik bağımlılık yönetimi için IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig kullanın.
C# kullanarak bir PDF'ye filigran nasıl eklerim?
IronPDF kullanarak, HtmlStamp nesneleriyle Watermark özelliğini kullanarak PDF'lere filigran ekleyebilirsiniz. Gelişmiş seçenekler için, HtmlStamper sınıfı özel konumlandırma ve şeffaflık efektleri sağlar.
PDF belgelerine dijital imzalar ekleyebilir miyim?
Evet, IronPDF'in PdfSignature sınıfını kullanarak PDF'lere dijital imzalar ekleyebilirsiniz. Belirli bir sertifika dosyası sağlayarak PdfDocument üzerinde Sign yöntemini kullanın ve belgelerin bütünlüğünü ve özgünlüğünü sağlayın.
.NET Core'da PDF oluşturma performansını nasıl optimize ederim?
Thread-safe bir ChromePdfRenderer örneğini yeniden kullanarak, çoklu iş parçacığı etkinleştirerek ve gereksiz headless-Chrome başlangıç bayraklarını kırparak PDF oluşturma performansını optimize edin. Bu uygulamalar, uygulamanızın verimliliğini artırmaya yardımcı olur.
Bu eğitimdeki .NET Core HTML'den PDF'ye örnek aynı zamanda .NET 10 ile de çalışıyor mu?
Evet. IronPDF, .NET 10 ile tamamen uyumludur, bu nedenle bu eğitimin ChromePdfRenderer HTML'den PDF'ye örneğini .NET 10 projelerinde çekirdek kodunu değiştirmeden kullanabilirsiniz. Ana fark, projeyi oluştururken .NET 10'u hedeflemeniz ve ardından HTML, Razor görünümleri veya URL'lerden pikselleme mükemmel PDF'ler üretmek için en son IronPdf paketunu NuGet'ten yüklemenizdir.

