Altbilgi içeriğine atla
IRONPDF KULLANARAK

PDF API for .NET Core: C#'da PDF'leri Oluşturun ve Düzenleyin

IronPDF .NET Core PDF API genel görünümü HTML'den PDF'ye dönüşüm ve çıktı belgesi ile yanyana gösterilen kod düzenleyici

IronPDF, C# kodu aracılığıyla PDF belgeleri oluşturan, dönüştüren ve düzenleyen bir PDF API'dir ve .NET Core ve .NET 10 için tasarlanmıştır. NuGet paketini kurun, bir ChromePdfRenderer örneği oluşturun ve HTML dizgilerinden, canlı URL'lerden veya mevcut dosyalardan birkaç satırda PDF'ler üretin.

.NET Core uygulamalarında fatura, rapor, sözleşme ve uyumluluk belgeleri için PDF oluşturma standart bir gerekliliktir. Zorluk, HTML'yi doğru şekilde işleyen, ASP.NET Core ve Blazor ile sorunsuz entegrasyon sağlayan, tutarlı çıktılar üreten ve dijital imzalar ile şifre koruması gibi gelişmiş operasyonları ek araçlar gerektirmeden gerçekleştiren bir kütüphane bulmaktır. Bu kılavuz, yüklemeden en yaygın belge operasyonlarına kadar IronPDF'ın .NET Core PDF API'si üzerinde çalışma, her biri C# kod örnekleriyle birlikte anlatır.

IronPDF ile .NET Core'de Nasıl Başlarsınız?

IronPDF'yi NuGet üzerinden 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
SHELL

Kurulumdan sonra, uygulama başlangıcında lisans anahtarınızı Program.cs içine 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"
$vbLabelText   $csharpLabel

Ücretsiz bir deneme değerlendirme için kredi kartı gerektirmeden mevcuttur. 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ı gerektirmeden Windows, macOS ve Linux üzerinde çalışır, bu da konteynerize dağıtımlar ve Azure, Docker ve AWS gibi bulut ortamları için uygun hale getirir.

ASP.NET Core projeleri için, uygulamayı oluşturmadan önce Program.cs içinde IronPDF hizmetlerini kaydedin, ardından standart bağımlılık enjeksiyon konteyneri aracılığıyla ChromePdfRenderer enjekte edin. IronPDF, ASP.NET Core proje türleri, Web API, MVC, Razor Sayfaları ve Blazor Server ile bütünleşir. NuGet paketi, yerel çalışma zamanı kütüphaneleri veya harici çalıştırılabilir dosyalar gerektirmeyen tek bir bağımlılık olarak yüklenir, bu da CI hattınızı ve konteyner imajlarınızı basit tutar. Standart .NET SDK dışında Linux veya macOS dağıtımları için ek yapılandırma gerekmez.

ChromePdfRenderer iş parçacığı güvenli olduğundan, bunu tekil olarak kaydedebilir ve istek işleyicileri arasında paylaşabilirsiniz. Yüksek iş hacimli senaryolarda, istek iş parçacıklarını engellemekten kaçınmak için bir işleme örnekleri havuzu oluşturun veya eşzamanlı işleme yöntemlerini (RenderHtmlAsPdfAsync, RenderUrlAsPdfAsync) kullanın. IronPDF'in lisans sayfası, üretim ortamları için dağıtım koltuğu ve eşzamanlı iş parçacığı sınırlamalarını kapsamaktadır.

C#'ta HTML'den PDF Nasıl Üretilir?

HTML'den PDF'ye dönüşüm, bir .NET PDF API'sinin en yaygın kullanım şeklidir. IronPDF'in ChromePdfRenderer, HTML dizelerini, yerel dosyaları veya canlı URL'leri dönüştürürken CSS stillerini, yazı tiplerini, JavaScript çıktısını ve Chrome'da olduğu gibi görüntüleri 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")
$vbLabelText   $csharpLabel

Çıkış PDF Belgesi

IronPDF HTML'den PDF'ye dönüşüm çalıştıran Visual Studio projesi, stilli veri tablosu ile biçimlendirilmiş bir Satış Raporu oluşturuyor

ChromePdfRenderer, bir PdfDocument nesnesi döndürür, bu nesneyi dosya yoluna kaydedebilir, HTTP yanıtları için bir byte[]'ya aktarabilir veya bellek içi işleme için bir MemoryStream'ya yazabilirsiniz. İşleyici tüm CSS özelliklerini, özel yazı tiplerini, flexbox, grid yerleşimlerini, medya sorgularını ve marjin ve sayfa boyutu kontrolü için @page kurallarını dikkate alır. CSS ve görüntü varlıklarıyla birlikte diskte saklanan HTML şablonları için, bir satır içi dizecik geçirmek yerine dosya yolu ile RenderHtmlFileAsPdf çağırın. IronPDF, göreceli varlık yollarını dosyanın dizinine göre çözer, bu nedenle bağlı stil sayfaları ve yerel görüntüler ek yapılandırmaya gerek kalmadan çıktıda görünür.

Canlı web sayfalarını yakalaması gereken uygulamalar için, JavaScript çalıştırırken herhangi bir URL'nin ekran görüntüsünü almak 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")
$vbLabelText   $csharpLabel

URL'nin işlenmesi, dinamik olarak yüklenen grafiklerin, tabloların ve veri görselleştirmelerinin çıktı PDF'sinde doğru şekilde görünmesini sağlamak için JavaScript'in tamamlanmasını bekler. Sayfa kenar boşluklarını, kağıt boyutunu, yönlendirmeyi ve JavaScript yürütme zaman aşımını ayarlamak için işleme seçeneklerini yapılandırabilirsiniz. Kimlik doğrulama çerezleri ve özel HTTP başlıkları da oturum gerektiren sayfaların işlenmesi öncesinde isteğe enjekte edilebilir.

PDF Sayfa Düzeni ve Render Ayarları Nasıl Yapılandırılır?

RenderingOptions özelliği ChromePdfRenderer üzerinde sayfa boyutları, marjinler, yönlendirme ve herhangi bir işleme çağrısı yapılmadan önce JavaScript bekleme davranışını kontrol eder. Bu özellikleri bir kez işleyici örneğinde ayarlayın ve ürettiği her belgeye uygulanır.

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")
$vbLabelText   $csharpLabel

Kağıt boyut değerleri arasında A4, A3, Mektup, Hukuki standart formatlar ve milimetre olarak belirtilen özel boyutlar bulunur. Kenar boşluğu özellikleri milimetre olarak değerlere izin verir ve her kenara bağımsız olarak uygulanır. WaitFor API'si JavaScript yürütme zamanlamasını kontrol eder, bu sayede HTML'niz, grafiklerin veya hesaplanmış tablo değerlerinin işlenmeden önce, veriyi eşzamanlı yüklediğinde faydalıdır. CSS @page kurallarını kullanan sayfalar için, IronPDF bu deklarasyonlara uyar ve doğrudan uygular. Yakınlaştırma faktörü, arka plan rengi ve PDF sürüm seçimi dahil olmak üzere tam özellik listesini görmek için işleme seçenekleri referansına bakın.

DOSYALARI VE GÖRÜNTÜLERİ PDF'YE NASIL 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, birden fazla giriş türünü 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")
$vbLabelText   $csharpLabel

Örnek Giriş DOCX ve Çıkış PDF

Orijinal Word belgesi ve IronPDF ile dönüştürülmüş PDF çıktısının yan yana karşılaştırması, tablo biçimlendirme ve stillerin korunduğunu gösteriyor

DOCX'ten PDF'ye dönüşüm özelliği, kaynak Word belgesinden paragraf stillerini, tabloları, başlıkları, altbilgileri, gömülü resimleri ve listeleri korur. Görüntüden PDF'ye dönüştürücü JPEG, PNG, TIFF, BMP ve GIF'yi kabul eder, çıktı dosya boyutunu otomatik olarak optimize eder ve birden fazla görüntünün tek bir sayfalı belge halinde birleştirilmesini destekler. 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ü resimlerle başa çıkarken orijinal paragraf ve başlık hiyerarşisini korur.

Dijital İmzalar ve Form Alanları Nasıl Eklenir?

Üretim belge iş akışları, genellikle kimlik doğrulama için kriptografik imzalar ve veri toplama için etkileşimli form alanları gerektirir. IronPDF, aynı API üzerinden dijital imzalar ve PDF form desteği 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")
$vbLabelText   $csharpLabel

Örnek Doğrulanmış İmza

Adobe Acrobat, IronPDF'in PdfSignature API'si ile imzalanmış bir PDF üzerinde doğrulanmış dijital imza panelini gösteriyor

Dijital imzalar PFX formatında X.509 sertifikaları kullanır ve Adobe Acrobat ve diğer PDF görüntüleyicileri tarafından tanınan PDF imza standartlarıyla uyumludur. Acrobat'taki imza paneli, sertifika vereni, imza zamanını ve bütünlük durumunu doğrular. PDF formları API'si metin alanları, onay kutuları, radyo butonları ve açılır menüler destekler. Form şablonlarını programatik olarak oluşturabilir, çalışma zamanında verilerle doldurabilir ve doldurulmuş belgelerdeki alan değerlerini okuyabilirsiniz. Bu model, sözleşme yönetimi, İK işe alım ve aynı PDF şablonunun tekrar tekrar farklı alan değerleriyle kullanıldığı otomatik veri toplama hatları için kullanışlıdır.

Zaman damgası temelli imzalar için, imzalama süresinin yerel sistem saatinden ziyade güvenilir bir üçüncü taraf tarafından sertifikalandırılması için zaman damgası sunucu URI'si ile yapılandırılmış bir PdfSignature örneği geçirin. imza kılavuzunda görünür imza resimleri, birden fazla ardışık imzalayan ve sertifika doğrulama seçenekleri yer alır.

Mevcut PDF Belgelerini Nasıl Düzenleyip Manipüle Edersiniz?

IronPDF, PDF dosyalarını HTML'den yeniden oluşturmadan değiştirmenizi sağlar. Başlıklar, altbilgiler, filigranlar, notlar ekleyebilir veya sayfaları programlı olarak birleştirip bölebilirsiniz.

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
$vbLabelText   $csharpLabel

Örnek Çıktı

IronPDF eklenmiş gizli filigran ve markalı başlık içeren, sayfa numaraları ve ek ekler sayfaları gösteren PDF belgesi

HTML başlıklar ve altbilgiler API'si, dinamik içerik için {page}, {total-pages} ve {date} dahil olmak üzere şablon değişkenlerini destekler. Özel filigran yöntemi, tüm sayfalara tek bir çağrıyla biçimlendirilmiş, döndürülmüş, yarı saydam katmanlar uygulayabilmeniz için HTML parçacığı kabul eder. Aynı zamanda 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çeriğini çıkartabilirsiniz. Metin çıkartma, arama indeksleme, içerik taşınması veya veri doğrulama iş akışları için aşağı akış işlemi kolaylaştırarak sütunlar ve tablolar boyunca okuma sırasını korur.

Şifre Koruma ve Güvenlik Ayarlarını Nasıl Uygularsınız?

Finansal raporlar, yasal belgeler ve İK kayıtları için PDF belgelerinin şifreler ve izin bayrakları ile korunması standart bir gerekliliktir.

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")
$vbLabelText   $csharpLabel

PDF güvenlik ayarları API'si, 128-bit veya 256-bit AES şifreleme uygular. UserPassword ayarlamak, herhangi bir PDF görüntüleyicide dosyayı açarken okuyucuların şifre girmesini gerektirir. OwnerPassword ayarlamak, programatik değişiklikleri ve sahip düzeyindeki işlemleri kısıtlar. İzin bayrakları, yazdırma kalitesini, metin seçimini, notları ve form alanlarına erişimi bağımsız olarak kontrol eder. Güvenlik ayarlarını uyguladıktan sonra, BinaryData özelliği depolama veya HTTP iletimi için şifrelenmiş PDF baytlarını döndürür. Bu ayarlar, korunan belgelerin Adobe Acrobat, tarayıcı tabanlı PDF görüntüleyicileri ve mobil okuma uygulamalarında doğru bir şekilde açılmasını sağlamak için PDF spesifikasyonunun erişim kontrol modeline uygun olarak çalışır.

Sahip olduğunuz bir belgeden korumayı kaldırmak için, dosyayı PdfDocument.FromFile'a bir parametre olarak geçen sahip şifresiyle yükleyin, ardından herhangi bir güvenlik ayarı uygulanmadan kaydedin. Bu, sunucu tarafı iş akışlarında, şifre korumalı dosyaların girdi olarak geldiği ve yeniden dağıtım öncesinde dönüştürülmesi gerektiği durumlarda programatik belge işlenmesini sağlar.

Sıradaki Adımlarınız Neler?

IronPDF'nin PDF API'si .NET Core için, HTML dizeleri ve URL'lerden oluşturma, DOCX ve görüntü dosyalarını dönüştürme, sayfa düzeni yapılandırma ve işleme seçenekleri, filigranlar, başlıklar ve altbilgiler düzenleme, dijital imzalar uygulama ve belgeleri şifreleme ile koruma dahil olmak üzere tüm belge yaşam döngüsünü C#'da ele alır. Tüm işlemler, Windows, macOS ve Linux'ta .NET 8, .NET 9 ve .NET 10 üzerinde tutarlı bir API kullanarak gerçekleştirilir.

Belgelerinizle IronPDF'yi değerlendirmek için ücretsiz bir deneme başlatın. Ek senaryolar için HTML'den PDF'ye işleme seçenekleri kılavuzu, PDF sıkıştırma ve optimizasyonu ve tam IronPDF özellik genel bakışını keşfedin. Üretim dağıtımı için lisanslama seçeneklerini gözden geçirin.

Sıkça Sorulan Sorular

IronPDF'nin .NET Core için PDF API'si nedir?

IronPDF, C# uygulamalarında PDF belgeleri oluşturan, dönüştüren ve düzenleyen 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 sonrasını destekler.

HTML'den .NET Core üzerinde nasıl PDF oluşturursunuz?

Bir ChromePdfRenderer örneği oluşturun ve bir HTML dizesi ile RenderHtmlAsPdf veya bir URL ile RenderUrlAsPdfAsync çağrısında bulunun. Renderer, HTML, CSS ve JavaScript çıktısını kaydedebileceğiniz veya akışa alabileceğiniz bir PdfDocument nesnesine dönüştürür.

IronPDF'de sayfa boyutunu ve kenar boşluklarını nasıl yapılandırırsınız?

Oluşturma yöntemini çağırmadan önce renderer.RenderingOptions'ta özellikleri ayarlayın. Standart formatlar için PaperSize, dikey veya yatay için PaperOrientation ve milimetre bazında kenar boşlukları için MarginTop, MarginBottom, MarginLeft, MarginRight kullanın.

IronPDF, DOCX dosyalarını .NET Core üzerinde PDF'ye dönüştürebilir mi?

Evet. Dosya yolu ile DocxToPdfRenderer.RenderDocxAsPdf kullanın. Dönüştürücü, kaynak Word belgesindeki paragraf stillerini, tabloları, başlıkları, alt bilgileri ve gömülü resimleri korur.

C# ile bir PDF'ye dijital imza nasıl eklersiniz?

PDF'yi PdfDocument.FromFile ile yükleyin, PFX sertifika yolu ve şifresi ile bir PdfSignature oluşturun, ardından pdf.Sign(signature) çağrısında bulunun. Sonuçta ortaya çıkan belge, Adobe Acrobat ve uyumlu PDF görüntüleyicilerinde onaylanmış olarak görünür.

IronPDF kullanarak bir PDF'yi nasıl şifre ile korursunuz?

pdf.SecuritySettings.UserPassword için açılma şifresini ve pdf.SecuritySettings.OwnerPassword için sahip şifresini ayarlayın. Bireysel izinleri kontrol etmek için AllowUserPrinting, AllowUserCopyPasteContent ve ilgili bayrakları kullanın.

ASP.NET Core'de bir HTTP yanıtı olarak oluşturulan PDF'yi nasıl döndürürsünüz?

PdfDocument örneği üzerindeki BinaryData özelliğine erişerek PDF'yi byte dizisi olarak alın, ardından bir ASP.NET Core denetleyici işleminde File(pdfBytes, 'application/pdf', 'filename.pdf') ile döndürün.

IronPDF, .NET Core uygulamaları için Linux ve macOS üzerinde çalışıyor mu?

Evet. IronPDF, ek yerel çalışma zamanı bağımlılıkları olmadan Windows, macOS ve Linux üzerinde çalışır. Docker, Azure ve AWS'ye platforma özgü yapılandırma olmadan kapsayıcı dağıtımlarını destekler.

IronPDF ile bir PDF'ye başlık ve alt bilgi nasıl eklenir?

{page}, {total-pages} ve {date} gibi dinamik değerler için şablon değişkenleri kullanarak başlık işaretlemesini içeren bir HtmlHeaderFooter nesnesi ile document.AddHtmlHeaders çağrısında bulunun. Aynı API alt bilgiler için de geçerlidir.

IronPDF, ASP.NET Core için kullanımda thread-safe mi?

ChromePdfRenderer thread-safe'dir ve bağımlılık enjeksiyon konteynerine singleton olarak kaydedilebilir. Yüksek verimli iş yükleri için, istek iş parçacıklarını engellememek için async oluşturma yöntemlerini (RenderHtmlAsPdfAsync, RenderUrlAsPdfAsync) kullanın.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara