ASP'den HTML'i PDF'ye Nasıl Cevirilir

IronPDF .NET Core ve .NET 10 için bir PDF API'sidir, C# kodu aracılığıyla PDF belgeleri oluşturur, dönüştürür ve düzenler. NuGet paketini yükleyin, bir ChromePdfRenderer örneği oluşturun ve birkaç satırda HTML dizelerinden, canlı URL'lerden veya mevcut dosyalardan PDF'ler oluşturun.
.NET Core uygulamalarındaki fatura, rapor, sözleşme ve uyumluluk belgeleri için PDF oluşturma standart bir gereksinimdir. Zorluk, HTML'yi düzgün bir şekilde işlerken, ASP.NET Core ve Blazor ile temiz bir entegrasyon sağlayan, Windows, Linux ve macOS'ta tutarlı çıktılar üreten, dijital imzaları ve şifre korumasını ayrı araçlar gerektirmeden yöneten bir kütüphane bulmaktadır. Bu kılavuz, IronPDF'nin .NET Core PDF API'sini kurulumdan belgelerin en yaygın işlemlerine kadar, her biri çalışan C# kod örnekleriyle, ele alır.
IronPDF ile .NET Core'da Nasıl Başlanır?
NuGet'ten IronPDF'yi Paket Yöneticisi Konsolu veya .NET CLI kullanarak yükleyin:
# Package Manager Console
Install-Package IronPdf
# .NET CLI
dotnet add package IronPdf
# Package Manager Console
Install-Package IronPdf
# .NET CLI
dotnet add package IronPdf
Kurulumdan sonra Program.cs içinde uygulama başlatılırken lisans anahtarınızı ekleyin:
using IronPdf;
// Configure your license key before any IronPDF operations
License.LicenseKey = "YOUR-LICENSE-KEY";
using IronPdf;
// Configure your license key before any IronPDF operations
License.LicenseKey = "YOUR-LICENSE-KEY";
Imports IronPdf
' Configure your license key before any IronPDF operations
License.LicenseKey = "YOUR-LICENSE-KEY"
ücretsiz bir deneme değerlendirme için kredi kartı gerektirmez. IronPDF, .NET 10, .NET 9, .NET 8, .NET Framework 4.6.2+ ve tüm ana .NET Core sürümlerini destekler. Kütüphane, ek çalışma zamanı bağımlılıkları olmadan Windows, macOS ve Linux'ta çalışır, bu da konteynerli kurulumlar ve Azure, Docker ve AWS gibi bulut ortamları için uygundur.
ASP.NET Core projeleri için, uygulamayı yüklemeden önce Program.cs içinde IronPDF hizmetlerini kaydedin, ardından standart bağımlılık enjeksiyon konteyneri üzerinden ChromePdfRenderer enjekte edin. IronPDF, Web API, MVC, Razor Pages ve Blazor Server dahil olmak üzere ASP.NET Core proje türleriyle entegre olur. NuGet paketi, yerel çalışma zamanı kütüphaneleri veya harici çalıştırılabilir dosyalar gerektirmeden tek bir bağımlılık olarak yüklenir, bu da CI boru hattınızı ve konteyner görüntülerinizi basit tutar. Linux veya macOS kurulumları için standart .NET SDK'nın ötesinde ek bir yapılandırma gerekmez.
ChromePdfRenderer iş parçacığı güvenli olduğundan, bunu bir singleton olarak kaydedebilir ve istek işleyiciler arasında paylaşabilirsiniz. Yüksek verim senaryolarında, bir oluşturucu örnekleri havuzu oluşturun veya PDF oluşturma çalışırken istek iş parçacıklarının tıkanmasını önlemek için asenkron render yöntemlerini (RenderHtmlAsPdfAsync, RenderUrlAsPdfAsync) kullanın. IronPDF'nin lisanslama sayfası, üretim ortamları için dağıtım koltuğu ve eşzamanlı iş parçacığı limitlerini kapsar.
HTML'den C# ile PDF Nasıl Üretilir?
HTML-PDF dönüşümü, bir .NET PDF API'sinin en yaygın kullanım alanıdır. IronPDF'nin ChromePdfRenderer, HTML dizgilerini, yerel dosyaları veya canlı URL'leri dönüştürürken CSS stillerini, yazı tiplerini, JavaScript çıktısını ve görüntüleri Chrome'da olduğu gibi korur.
using IronPdf;
// Create the renderer and define HTML content with full CSS support
var renderer = new ChromePdfRenderer();
var html = @"<html>
<head>
<style>
body { font-family: Arial; font-size: 14px; margin: 40px; }
h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
table { border-collapse: collapse; width: 100%; margin-top: 16px; }
td, th { border: 1px solid #ddd; padding: 10px; text-align: left; }
th { background: #3498db; color: white; }
</style>
</head>
<body>
<h1>Sales Report - Q4 2025</h1>
<p>Generated on: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
<table>
<tr><th>Product</th><th>Units Sold</th><th>Revenue</th></tr>
<tr><td>Widget A</td><td>1,200</td><td>$24,000</td></tr>
<tr><td>Widget B</td><td>850</td><td>$17,000</td></tr>
</table>
</body>
</html>";
var document = renderer.RenderHtmlAsPdf(html);
document.SaveAs("sales-report.pdf");
using IronPdf;
// Create the renderer and define HTML content with full CSS support
var renderer = new ChromePdfRenderer();
var html = @"<html>
<head>
<style>
body { font-family: Arial; font-size: 14px; margin: 40px; }
h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
table { border-collapse: collapse; width: 100%; margin-top: 16px; }
td, th { border: 1px solid #ddd; padding: 10px; text-align: left; }
th { background: #3498db; color: white; }
</style>
</head>
<body>
<h1>Sales Report - Q4 2025</h1>
<p>Generated on: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
<table>
<tr><th>Product</th><th>Units Sold</th><th>Revenue</th></tr>
<tr><td>Widget A</td><td>1,200</td><td>$24,000</td></tr>
<tr><td>Widget B</td><td>850</td><td>$17,000</td></tr>
</table>
</body>
</html>";
var document = renderer.RenderHtmlAsPdf(html);
document.SaveAs("sales-report.pdf");
Imports IronPdf
' Create the renderer and define HTML content with full CSS support
Dim renderer As New ChromePdfRenderer()
Dim html As String = "<html>
<head>
<style>
body { font-family: Arial; font-size: 14px; margin: 40px; }
h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
table { border-collapse: collapse; width: 100%; margin-top: 16px; }
td, th { border: 1px solid #ddd; padding: 10px; text-align: left; }
th { background: #3498db; color: white; }
</style>
</head>
<body>
<h1>Sales Report - Q4 2025</h1>
<p>Generated on: " & DateTime.Now.ToString("MMMM dd, yyyy") & "</p>
<table>
<tr><th>Product</th><th>Units Sold</th><th>Revenue</th></tr>
<tr><td>Widget A</td><td>1,200</td><td>$24,000</td></tr>
<tr><td>Widget B</td><td>850</td><td>$17,000</td></tr>
</table>
</body>
</html>"
Dim document = renderer.RenderHtmlAsPdf(html)
document.SaveAs("sales-report.pdf")
Çıktı PDF Belgesi

ChromePdfRenderer bir PdfDocument nesnesi döndürür; bu, bir dosya yoluna kaydedebilir, HTTP yanıtları için bir byte[] olarak dışa aktarabilir veya bellek içi işlemler için bir MemoryStream'ye yazabilirsiniz. Oluşturucu, yer paylaşım kuralları ve sayfa boyut kontrolü için özel yazı tipleri, flexbox, grid yerleşimleri, medya sorguları ve @page dahil tüm CSS özelliklerini dikkate alır. CSS ve görüntü varlıklarının yanı sıra diskte depolanan HTML şablonları için dosya yolu ile RenderHtmlFileAsPdf çağrısı yapın, satır içi bir dize geçirmek yerine. IronPDF, bağlı stil dosyalarını ve yerel görüntüleri çıktıda doğru gösterir, böylece ek yapılandırmaya gerek kalmaz.
Canlı web sayfalarını yakalaması gereken uygulamalar için herhangi bir URL'yi görüntülemek ve JavaScript çalıştırmak için RenderUrlAsPdfAsync kullanın:
using IronPdf;
var renderer = new ChromePdfRenderer();
// Render a live URL including all JavaScript-rendered content
var document = await renderer.RenderUrlAsPdfAsync("https://example.com/monthly-report");
document.SaveAs("monthly-report.pdf");
// Return PDF bytes in an ASP.NET Core controller
byte[] pdfBytes = document.BinaryData;
return File(pdfBytes, "application/pdf", "report.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
// Render a live URL including all JavaScript-rendered content
var document = await renderer.RenderUrlAsPdfAsync("https://example.com/monthly-report");
document.SaveAs("monthly-report.pdf");
// Return PDF bytes in an ASP.NET Core controller
byte[] pdfBytes = document.BinaryData;
return File(pdfBytes, "application/pdf", "report.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Render a live URL including all JavaScript-rendered content
Dim document = Await renderer.RenderUrlAsPdfAsync("https://example.com/monthly-report")
document.SaveAs("monthly-report.pdf")
' Return PDF bytes in an ASP.NET Core controller
Dim pdfBytes As Byte() = document.BinaryData
Return File(pdfBytes, "application/pdf", "report.pdf")
URL işleme, JavaScript tamamlanana kadar bekler, bu nedenle dinamik olarak yüklenen grafikler, tablolar ve veri görselleştirmeler çıktıda doğru şekilde görünür. işleme seçenekleri, sayfa kenar boşluklarını, kağıt boyutunu, yönünü ve JavaScript yürütme zaman aşımını ayarlamanıza olanak tanır. Kimlik doğrulama çerezleri ve özel HTTP başlıkları, oturum açma gerektiren sayfaların yakalanmasını destekleyen işleme öncesi isteğe eklenebilir.
PDF Sayfa Düzenini ve Render Seçeneklerini Nasıl Yapılandırırsınız?
RenderingOptions özelliği ChromePdfRenderer üzerinde, herhangi bir render çağrısı yürütülmeden önce sayfa boyutlarını, kenar boşluklarını, yönlendirmeyi ve JavaScript bekleme davranışını kontrol eder. Bu özellikleri bir kere yorumlayıcı örneğinde ayarlayın ve ürettiği her belgeye uygulanırlar.
using IronPdf;
var renderer = new ChromePdfRenderer();
// Configure page layout before rendering
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginTop = 15;
renderer.RenderingOptions.MarginBottom = 15;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
// Wait for dynamic JavaScript content before capturing
renderer.RenderingOptions.WaitFor.RenderDelay(500);
var document = renderer.RenderHtmlAsPdf("<h1>Landscape Report</h1><p>Body content here.</p>");
document.SaveAs("landscape-report.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
// Configure page layout before rendering
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginTop = 15;
renderer.RenderingOptions.MarginBottom = 15;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
// Wait for dynamic JavaScript content before capturing
renderer.RenderingOptions.WaitFor.RenderDelay(500);
var document = renderer.RenderHtmlAsPdf("<h1>Landscape Report</h1><p>Body content here.</p>");
document.SaveAs("landscape-report.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Configure page layout before rendering
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape
renderer.RenderingOptions.MarginTop = 15
renderer.RenderingOptions.MarginBottom = 15
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
' Wait for dynamic JavaScript content before capturing
renderer.RenderingOptions.WaitFor.RenderDelay(500)
Dim document = renderer.RenderHtmlAsPdf("<h1>Landscape Report</h1><p>Body content here.</p>")
document.SaveAs("landscape-report.pdf")
Kağıt boyutu değerleri A4, A3, Letter, Legal ve milimetre cinsinden belirlenen özel boyutları içeren standart formatları kapsar. Kenar boşluğu özellikleri milimetre cinsinden değer alır ve her kenara bağımsız olarak uygulanır. WaitFor API'si, HTML'nizin grafik veya hesaplanmış tablo değerlerini oluşturmadan önce verileri eşzamansız olarak yüklediği zaman faydalı olan JavaScript yürütme zamanlamasını kontrol eder. CSS @page kurallarını kullanan sayfalar için, IronPDF bu ifadeleri dikkate alır ve doğrudan uygular. Ayrıntılı mülk listesi, yakınlaştırma faktörü, arka plan rengi ve PDF sürüm seçimi dahil olmak üzere tam işleme seçenekleri referansına bakın.
DOCX Dosyalarını ve Görüntüleri PDF'ye Nasıl Dönüştürürsünüz?
HTML'nin ötesinde, IronPDF DOCX belgelerini, yaygın görüntü formatlarını ve Markdown dosyalarını PDF'lere dönüştürür. Bu çoklu giriş türlerini kabul eden işleme hatlarını destekler.
using IronPdf;
// Convert a Word document to PDF while preserving its formatting
var docxPdf = new DocxToPdfRenderer().RenderDocxAsPdf("contract.docx");
docxPdf.SaveAs("contract.pdf");
// Combine multiple images into a single multi-page PDF
var images = new[] { "page1.png", "page2.png", "page3.png" };
var imagePdf = ImageToPdfConverter.ImageToPdf(images);
imagePdf.SaveAs("scanned-document.pdf");
using IronPdf;
// Convert a Word document to PDF while preserving its formatting
var docxPdf = new DocxToPdfRenderer().RenderDocxAsPdf("contract.docx");
docxPdf.SaveAs("contract.pdf");
// Combine multiple images into a single multi-page PDF
var images = new[] { "page1.png", "page2.png", "page3.png" };
var imagePdf = ImageToPdfConverter.ImageToPdf(images);
imagePdf.SaveAs("scanned-document.pdf");
Imports IronPdf
' Convert a Word document to PDF while preserving its formatting
Dim docxPdf = New DocxToPdfRenderer().RenderDocxAsPdf("contract.docx")
docxPdf.SaveAs("contract.pdf")
' Combine multiple images into a single multi-page PDF
Dim images = {"page1.png", "page2.png", "page3.png"}
Dim imagePdf = ImageToPdfConverter.ImageToPdf(images)
imagePdf.SaveAs("scanned-document.pdf")
Örnek Girdi DOCX vs. Çıktı PDF

DOCX'ten PDF'ye Dönüşüm özelliği, kaynak Word belgesinden paragraf stillerini, tabloları, başlıkları, alt bilgileri, gömülü görüntüleri ve listeleri korur. Görüntüden PDF'ye dönüştürücü, JPEG, PNG, TIFF, BMP ve GIF dosyalarını kabul eder, çıktı dosya boyutunu otomatik olarak optimize eder ve birden fazla görüntüyü tek bir sayfalı belgeye birleştirir. Her iki dönüştürücü de standart bir PdfDocument örneği döndürür, böylece bunları birleştirme, imzalama veya filigran ekleme gibi düzenleme işlemleriyle zincirleyebilirsiniz. Microsoft Word tarafından üretilen DOCX dosyaları için, dönüştürücü karmaşık tablo yapıları ve gömülü görüntüleri işlerken orijinal paragraf ve başlık hiyerarşisini korur.
Dijital İmzalar ve Form Alanlarını Nasıl Eklerim?
Üretim belge iş akışları genellikle özgünlük için kriptografik imzalar ve veri toplama için etkileşimli form alanları gerektirir. IronPDF, dijital imzalar ve PDF form desteğini aynı API üzerinden sağlar.
using IronPdf;
using IronPdf.Signing;
// Load an existing PDF and apply a digital signature using an X.509 certificate
var pdf = PdfDocument.FromFile("agreement.pdf");
var signature = new PdfSignature("certificate.pfx", "pfx-password");
pdf.Sign(signature);
// Populate named form fields with dynamic application data
pdf.Form.FindFormField("CustomerName").Value = "Acme Corporation";
pdf.Form.FindFormField("ContractDate").Value = DateTime.Now.ToString("yyyy-MM-dd");
pdf.Form.FindFormField("Amount").Value = "$12,500.00";
pdf.SaveAs("signed-agreement.pdf");
using IronPdf;
using IronPdf.Signing;
// Load an existing PDF and apply a digital signature using an X.509 certificate
var pdf = PdfDocument.FromFile("agreement.pdf");
var signature = new PdfSignature("certificate.pfx", "pfx-password");
pdf.Sign(signature);
// Populate named form fields with dynamic application data
pdf.Form.FindFormField("CustomerName").Value = "Acme Corporation";
pdf.Form.FindFormField("ContractDate").Value = DateTime.Now.ToString("yyyy-MM-dd");
pdf.Form.FindFormField("Amount").Value = "$12,500.00";
pdf.SaveAs("signed-agreement.pdf");
Imports IronPdf
Imports IronPdf.Signing
' Load an existing PDF and apply a digital signature using an X.509 certificate
Dim pdf = PdfDocument.FromFile("agreement.pdf")
Dim signature = New PdfSignature("certificate.pfx", "pfx-password")
pdf.Sign(signature)
' Populate named form fields with dynamic application data
pdf.Form.FindFormField("CustomerName").Value = "Acme Corporation"
pdf.Form.FindFormField("ContractDate").Value = DateTime.Now.ToString("yyyy-MM-dd")
pdf.Form.FindFormField("Amount").Value = "$12,500.00"
pdf.SaveAs("signed-agreement.pdf")
Örnek Doğrulanmış İmza

Dijital imzalar, PFX formatında X.509 sertifikalarını kullanır ve Adobe Acrobat ve diğer PDF görüntüleyiciler tarafından tanınan PDF imza standartlarına uyar. Acrobat'taki imza paneli, sertifika vericisini, imzalama zamanını ve bütünlük durumunu onaylar. PDF formlar API'si metin alanları, onay kutuları, radyo düğmeleri ve açılır menüler destekler. Form şablonlarını programlı olarak oluşturabilir, çalışma zamanında verilerle doldurabilir ve doldurulmuş belgelerden gönderilmiş alan değerlerini okuyabilirsiniz. Bu model, aynı PDF şablonunun farklı alan değerleriyle birçok işlemde tekrarlandığı sözleşme yönetimi, İK işe alım ve otomatik veri toplama hatları için uygundur.
Zaman damgası tabanlı imzalar için, imzalama süresi, yerel sistem saatinden ziyade güvenilir bir üçüncü taraf tarafından onaylanabilsin diye bir zaman damgası sunucu URI'si ile yapılandırılmış bir PdfSignature örneği geçirin. imzalama kılavuzu, görünür imza resimlerini, ardışık birden fazla imzalayıcıyı ve sertifika doğrulama seçeneklerini kapsar.
Mevcut PDF Belgelerini Nasıl Düzenler ve Değiştirirsiniz?
IronPDF, PDF dosyalarını HTML'den yeniden oluşturmadan değiştirmenizi sağlar. Başlıklar, alt bilgiler, filigranlar, açıklamalar ekleyin veya sayfaları programlı olarak birleştirin ve bölün.
using IronPdf;
var document = PdfDocument.FromFile("report.pdf");
// Add a semi-transparent watermark using HTML
document.ApplyWatermark("<h2 style='color:red; opacity:0.4; transform:rotate(-30deg)'>CONFIDENTIAL</h2>",
rotation: 30, opacity: 50);
// Add a branded header to every page
document.AddHtmlHeaders(new HtmlHeaderFooter
{
HtmlFragment = "<div style='text-align:right; font-size:10px; color:#666'>Internal Use Only - Page {page} of {total-pages}</div>"
});
// Append supplementary pages from a second document
var appendix = PdfDocument.FromFile("appendix.pdf");
document.AppendPdf(appendix);
document.SaveAs("final-report.pdf");
// Export to bytes for HTTP streaming
byte[] pdfBytes = document.BinaryData;
using IronPdf;
var document = PdfDocument.FromFile("report.pdf");
// Add a semi-transparent watermark using HTML
document.ApplyWatermark("<h2 style='color:red; opacity:0.4; transform:rotate(-30deg)'>CONFIDENTIAL</h2>",
rotation: 30, opacity: 50);
// Add a branded header to every page
document.AddHtmlHeaders(new HtmlHeaderFooter
{
HtmlFragment = "<div style='text-align:right; font-size:10px; color:#666'>Internal Use Only - Page {page} of {total-pages}</div>"
});
// Append supplementary pages from a second document
var appendix = PdfDocument.FromFile("appendix.pdf");
document.AppendPdf(appendix);
document.SaveAs("final-report.pdf");
// Export to bytes for HTTP streaming
byte[] pdfBytes = document.BinaryData;
Imports IronPdf
Dim document = PdfDocument.FromFile("report.pdf")
' Add a semi-transparent watermark using HTML
document.ApplyWatermark("<h2 style='color:red; opacity:0.4; transform:rotate(-30deg)'>CONFIDENTIAL</h2>", rotation:=30, opacity:=50)
' Add a branded header to every page
document.AddHtmlHeaders(New HtmlHeaderFooter With {
.HtmlFragment = "<div style='text-align:right; font-size:10px; color:#666'>Internal Use Only - Page {page} of {total-pages}</div>"
})
' Append supplementary pages from a second document
Dim appendix = PdfDocument.FromFile("appendix.pdf")
document.AppendPdf(appendix)
document.SaveAs("final-report.pdf")
' Export to bytes for HTTP streaming
Dim pdfBytes As Byte() = document.BinaryData
Örnek Çıktı

HTML başlıkları ve altlıkları API dinamik içerikler için {page}, {total-pages} ve {date} dahil şablon değişkenlerini destekler. Özel filigran yöntemi bir HTML parçasını kabul eder, böylece tüm sayfalar üzerinde tek bir çağrıyla biçimlendirilmiş, döndürülen, yarı saydam kaplamalar uygulayabilirsiniz. Ayrıca sayfa aralığına göre PDF'leri bölebilir, birden fazla belgeyi birleştirebilir ve herhangi bir PDF'den gömülü görüntüleri ve metin içeriklerini çıkarabilirsiniz. Metin çıkarımı, sütunlar ve tablolar arasındaki okuma sırasını korur, bu da arama indeksleme, içerik taşıma veya veri doğrulama iş akışları için aşağıdaki işlemleri kolaylaştırır.
Şifre Koruma ve Güvenlik Ayarlarını Nasıl Uygularsınız?
Finansal raporlar, hukuki belgeler ve İK kayıtları için şifre ve izin bayrakları ile PDF belgeleri korumak standart bir gereksinimdir.
using IronPdf;
using IronPdf.Security;
var pdf = PdfDocument.FromFile("financial-report.pdf");
// Set passwords: UserPassword controls opening, OwnerPassword controls editing
pdf.SecuritySettings.UserPassword = "viewer-password";
pdf.SecuritySettings.OwnerPassword = "admin-password";
// Configure fine-grained permissions
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.PrintLowResolution;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SaveAs("protected-report.pdf");
using IronPdf;
using IronPdf.Security;
var pdf = PdfDocument.FromFile("financial-report.pdf");
// Set passwords: UserPassword controls opening, OwnerPassword controls editing
pdf.SecuritySettings.UserPassword = "viewer-password";
pdf.SecuritySettings.OwnerPassword = "admin-password";
// Configure fine-grained permissions
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.PrintLowResolution;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SaveAs("protected-report.pdf");
Imports IronPdf
Imports IronPdf.Security
Dim pdf = PdfDocument.FromFile("financial-report.pdf")
' Set passwords: UserPassword controls opening, OwnerPassword controls editing
pdf.SecuritySettings.UserPassword = "viewer-password"
pdf.SecuritySettings.OwnerPassword = "admin-password"
' Configure fine-grained permissions
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.PrintLowResolution
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SaveAs("protected-report.pdf")
PDF güvenlik ayarları API'si, 128-bit veya 256-bit AES şifrelemesini uygular. UserPassword ayarlanması, dosya herhangi bir PDF görüntüleyicide açılırken okuyucuların parolayı girmesini gerektirir. OwnerPassword ayarlanması, programatik değişiklikleri ve sahibine ait işlemleri kısıtlar. İzin bayrakları, yazdırma kalitesini, metin seçimini, açıklamaları ve form alanı erişimini birbirinden bağımsız olarak kontrol eder. Güvenlik ayarları uygulandıktan sonra BinaryData özelliği, depolama veya HTTP iletim için şifrelenmiş PDF baytlarını döndürür. Bu ayarlar, PDF spesifikasyonunun erişim kontrol modeline uygun olduğundan, korunan belgeler Adobe Acrobat, tarayıcı tabanlı PDF görüntüleyiciler ve mobil okuma uygulamalarında doğru şekilde açılır.
Sahibi olduğunuz bir belgeden korumayı kaldırmak için, dosyayı PdfDocument.FromFile'ye bir parametre olarak geçirilen sahip parolasıyla yükleyin, ardından güvenlik ayarları uygulanmadan kaydedin. Bu, sunucu tarafı iş akışlarında, şifre korumalı dosyaların giriş olarak geldiği ve yeniden dağıtım öncesi dönüştürülmesi gereken durumlarda programlı belge işleme sağlayabilir.
Sonraki Adımlarınız Neler?
IronPDF'nin .NET Core için PDF API'si, HTML dizgilerinden ve URL'lerden oluşturma, DOCX ve görüntü dosyalarını dönüştürme, sayfa düzeni ve işleme seçeneklerini yapılandırma, filigranlar, başlıklar ve alt bilgileri düzenleme, dijital imzalar uygulama ve şifreleme ile belgeleri koruma dahil tam belge yaşam döngüsünü C# ile yönetir. Tüm işlemler, Windows, macOS ve Linux'ta .NET 8, .NET 9 ve .NET 10 üzerinde tutarlı bir API kullanır.
Ücretsiz bir deneme başlatın ve belgelerinizle IronPDF'yi değerlendirin. Ek senaryolar için, HTML'nin PDF'ye dönüştürme seçenekleri kılavuzunu, PDF sıkıştırma ve optimizasyon, ve tam IronPDF özellik genel görünümünü keşfedin. Üretim dağıtımı için lisanslama seçeneklerini inceleyin.
Sıkça Sorulan Sorular
IronPDF’nin PDF API'si .NET Core için nedir?
IronPDF, C# uygulamalarında PDF belgeleri oluşturma, dönüştürme ve düzenlemeye olanak tanıyan bir .NET kütüphanesidir. Tek bir NuGet paketi olarak yüklenir ve .NET 10, .NET 9, .NET 8 ve .NET Framework 4.6.2 veya üzeri destekler.
HTML'den .NET Core içinde nasıl PDF oluşturursunuz?
Bir ChromePdfRenderer örneği oluşturun ve bir HTML dizisi ile RenderHtmlAsPdf çağırın veya bir URL ile RenderUrlAsPdfAsync çağırın. İşleyici, HTML, CSS ve JavaScript çıktısını kaydedebilir veya yayınlayabileceğiniz bir PdfDocument nesnesine dönüştürür.
IronPDF'de sayfa boyutu ve kenar boşluklarını nasıl yapılandırırsınız?
Özellikleri bir render metodunu çağırmadan önce renderer.RenderingOptions üzerinde ayarlayın. Standart formatlar için PaperSize, dikey veya yatay için PaperOrientation ve milimetre bazlı kenar boşlukları için MarginTop, MarginBottom, MarginLeft, MarginRight kullanın.
IronPDF, .NET Core içinde DOCX dosyalarını PDF'ye dönüştürebilir mi?
Evet. Dosya yolu ile DocxToPdfRenderer.RenderDocxAsPdf kullanın. Dönüştürücü, kaynak Word belgesinden paragraf stillerini, tabloları, üstbilgileri, altbilgileri ve gömülü resimleri korur.
C# ile bir PDF'ye dijital imza nasıl eklenir?
PDF'yi PdfDocument.FromFile ile yükleyin, PFX sertifika yolu ve parolası ile bir PdfSignature oluşturun, ardından pdf.Sign(signature) çağırın. Ortaya çıkan belge, Adobe Acrobat ve uyumlu PDF görüntüleyicilerinde doğrulanmış olarak görünür.
IronPDF kullanarak bir PDF'yi nasıl şifre korumalı hale getirirsiniz?
pdf.SecuritySettings.UserPassword için açma parolasını ve pdf.SecuritySettings.OwnerPassword için sahip parola ayarlayın. Bireysel izinleri kontrol etmek için AllowUserPrinting, AllowUserCopyPasteContent ve ilgili bayrakları kullanın.
ASP.NET Core'da oluşturulan bir PDF'yi bir HTTP yanıtı olarak nasıl geri döndürebilirsiniz?
PDF'yi bayt dizisi olarak almak için PdfDocument örneğindeki BinaryData özelliğine erişin, ardından bir ASP.NET Core kontrolcü yönteminde File(pdfBytes, 'application/pdf', 'filename.pdf') ile geri döndürün.
.NET Core uygulamaları için IronPDF Linux ve macOS'ta çalışıyor mu?
Evet. IronPDF, ek yerel çalışma zamanı bağımlılıkları olmadan Windows, macOS ve Linux'ta çalışır. Docker, Azure ve AWS'ye platforma özgü yapılandırmalar olmadan konteynerleştirilmiş dağıtımları destekler.
IronPDF ile bir PDF'ye üstbilgi ve altbilgiler nasıl eklenir?
Üstbilgi işaretlemesini içeren HtmlFragment'e sahip bir HtmlHeaderFooter nesnesi ile document.AddHtmlHeaders çağırın. Dinamik değerler için {page}, {total-pages} ve {date} şablon değişkenlerini kullanın. Aynı API altbilgilere de uygulanır.
IronPDF, ASP.NET Core'da kullanım için iş parçacığı güvenli mi?
ChromePdfRenderer iş parçacığı güvenlidir ve bağımlılık enjeksiyon konteynırında tekil olarak kaydedilebilir. Yüksek verimli iş yükleri için, istek iş parçacıklarını engellemekten kaçınmak için asenkron render metodlarını (RenderHtmlAsPdfAsync, RenderUrlAsPdfAsync) kullanın.

