PDF API für .NET Core: Erstellen und Bearbeiten von PDFs in C#

IronPDF ist eine PDF-API für .NET Core und .NET 10, die PDF-Dokumente mittels C#-Code generiert, konvertiert und bearbeitet. Installieren Sie das NuGet Paket, erstellen Sie eine ChromePdfRenderer-Instanz und erzeugen Sie PDFs aus HTML-Strings, Live-URLs oder vorhandenen Dateien in wenigen Zeilen.
Die PDF-Generierung ist eine Standardanforderung in .NET Core Anwendungen für Rechnungen, Berichte, Verträge und Compliance-Dokumente. Die Herausforderung besteht darin, eine Bibliothek zu finden, die HTML korrekt rendert, sich nahtlos in ASP.NET Core und Blazor integriert, unter Windows, Linux und macOS eine konsistente Ausgabe erzeugt und fortgeschrittene Operationen wie digitale Signaturen und Passwortschutz ohne die Notwendigkeit separater Tools handhabt. Dieser Leitfaden führt Sie durch die .NET Core PDF-API von IronPDF, von der Installation bis hin zu den gängigsten Dokumentoperationen, jeweils mit funktionierenden C#-Codebeispielen.
Wie fange ich mit IronPDF in .NET Core an?
Installieren Sie IronPDF über NuGet mithilfe der Paket-Manager-Konsole oder der .NET -Befehlszeilenschnittstelle:
# Package Manager Console
Install-Package IronPdf
# .NET CLI
dotnet add package IronPdf
# Package Manager Console
Install-Package IronPdf
# .NET CLI
dotnet add package IronPdf
Nach der Installation fügen Sie Ihren Lizenzschlüssel beim Start der Anwendung in Program.cs ein:
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"
Eine kostenlose Testversion steht ohne Kreditkarte zur Verfügung. IronPDF unterstützt .NET 10, .NET 9, .NET 8, .NET Framework 4.6.2+ und alle wichtigen .NET Core Versionen. Die Bibliothek läuft unter Windows, macOS und Linux ohne zusätzliche Laufzeitabhängigkeiten und eignet sich daher für containerisierte Bereitstellungen und Cloud-Umgebungen wie Azure , Docker und AWS.
Bei ASP.NET Core Projekten müssen die IronPDF Dienste vor dem Erstellen der Anwendung in Program.cs registriert und anschließend über den Standard-Dependency-Injection-Container injiziert werden. IronPDF integriert sich in ASP.NET Core -Projekttypen wie Web API, MVC, Razor Pages und Blazor Server. Das NuGet Paket wird als einzelne Abhängigkeit installiert, ohne dass native Laufzeitbibliotheken oder externe ausführbare Dateien benötigt werden. Dadurch bleiben Ihre CI-Pipeline und Container-Images übersichtlich. Für Linux- oder macOS-Bereitstellungen ist über das Standard .NET -SDK hinaus keine zusätzliche Konfiguration erforderlich.
Da ChromePdfRenderer threadsicher ist, können Sie es als Singleton registrieren und über mehrere Anfragebehandler hinweg gemeinsam nutzen. In Szenarien mit hohem Durchsatz sollten Sie einen Pool von Renderer-Instanzen erstellen oder die asynchronen Rendermethoden (RenderHtmlAsPdfAsync, RenderUrlAsPdfAsync) verwenden, um zu vermeiden, dass Anforderungsthreads während der PDF-Generierung blockiert werden. Auf der Lizenzseite von IronPDF finden Sie Informationen zu den Einsatzplätzen und den Beschränkungen für gleichzeitige Threads in Produktionsumgebungen.
Wie generiert man PDFs aus HTML in C#?
Die Konvertierung von HTML in PDF ist der häufigste Anwendungsfall einer .NET PDF-API. Der ChromePdfRenderer von IronPDF konvertiert HTML-Zeichenketten, lokale Dateien oder Live-URLs und erhält dabei CSS-Stile, Schriftarten, JavaScript Ausgabe und Bilder so, wie sie in Chrome gerendert werden.
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")
Ausgabe-PDF-Dokument

Die Funktion ChromePdfRenderer gibt ein PdfDocument-Objekt zurück, das Sie in einem Dateipfad speichern, in ein byte[]-Objekt für HTTP-Antworten exportieren oder in ein MemoryStream-Objekt für die Verarbeitung im Arbeitsspeicher schreiben können. Der Renderer berücksichtigt alle CSS-Eigenschaften, einschließlich benutzerdefinierter Schriftarten, Flexbox, Rasterlayouts, Media Queries und @page Regeln zur Steuerung von Rändern und Seitengröße. Für HTML-Vorlagen, die zusammen mit CSS- und Bilddateien auf der Festplatte gespeichert sind, rufen Sie RenderHtmlFileAsPdf mit dem Dateipfad auf, anstatt eine Zeichenkette inline zu übergeben. IronPDF löst relative Asset-Pfade im Verzeichnis der Datei auf, sodass verknüpfte Stylesheets und lokale Bilder ohne zusätzliche Konfiguration in der Ausgabe erscheinen.
Für Anwendungen, die Live-Webseiten erfassen müssen, verwenden Sie RenderUrlAsPdfAsync, um während der Ausführung von JavaScript einen Screenshot von einer beliebigen URL zu erstellen:
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")
Die URL-Darstellung wartet auf die Fertigstellung von JavaScript , bevor die Daten erfasst werden. Dadurch wird sichergestellt, dass dynamisch geladene Diagramme, Tabellen und Datenvisualisierungen im Ausgabe-PDF korrekt angezeigt werden. Sie können die Rendering-Optionen konfigurieren, um Seitenränder, Papierformat, Ausrichtung und JavaScript Ausführungstimeout festzulegen. Authentifizierungs-Cookies und benutzerdefinierte HTTP-Header können auch vor dem Rendern in die Anfrage eingefügt werden, wodurch das Erfassen von Seiten unterstützt wird, die eine angemeldete Sitzung erfordern.
Wie konfiguriert man das PDF-Seitenlayout und die Rendering-Optionen?
Die RenderingOptions-Eigenschaft von ChromePdfRenderer steuert Seitenabmessungen, Ränder, Ausrichtung und das JavaScript Warteverhalten, bevor ein Renderaufruf ausgeführt wird. Diese Eigenschaften werden einmalig auf der Renderer-Instanz festgelegt und gelten für jedes von ihr erzeugte Dokument.
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")
Die Angaben zum Papierformat umfassen Standardformate wie A4, A3, Letter, Legal sowie benutzerdefinierte Abmessungen in Millimetern. Die Randeigenschaften akzeptieren Werte in Millimetern und werden unabhängig auf jede Kante angewendet. Die WaitFor API steuert den Zeitpunkt der JavaScript Ausführung, was nützlich ist, wenn Ihr HTML Daten asynchron lädt, bevor Diagramme oder berechnete Tabellenwerte gerendert werden. Bei Seiten, die CSS-Regeln @page verwenden, respektiert IronPDF diese Deklarationen und wendet sie direkt an. Die vollständige Liste der Eigenschaften, einschließlich Zoom , Hintergrundfarbe und Auswahl der PDF-Version, finden Sie in der vollständigen Referenz der Rendering-Optionen .
Wie konvertiert man DOCX-Dateien und Bilder in PDF?
Neben HTML konvertiert IronPDF auch DOCX-Dokumente, gängige Bildformate und Markdown-Dateien in PDFs. Dies unterstützt Verarbeitungspipelines, die mehrere Eingabetypen akzeptieren.
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")
Beispiel: Eingabe-DOCX vs. Ausgabe-PDF

Die Funktion zur Konvertierung von DOCX in PDF erhält Absatzformate, Tabellen, Kopf- und Fußzeilen, eingebettete Bilder und Listen aus dem Word-Quelldokument. Der Bild-zu-PDF-Konverter akzeptiert JPEG, PNG, TIFF, BMP und GIF, optimiert automatisch die Ausgabedateigröße und unterstützt das Zusammenführen mehrerer Bilder zu einem einzigen paginierten Dokument. Beide Konverter geben eine Standardinstanz vom Typ PdfDocument zurück, sodass Sie sie mit Bearbeitungsvorgängen wie Zusammenführen, Signieren oder Wasserzeichen verketten können. Bei DOCX-Dateien, die von Microsoft Word erstellt wurden, verarbeitet der Konverter komplexe Tabellenstrukturen und eingebettete Bilder und behält dabei die ursprüngliche Absatz- und Überschriftenhierarchie bei.
Wie fügt man digitale Signaturen und Formularfelder hinzu?
Produktionsdokumenten-Workflows benötigen häufig kryptografische Signaturen zur Authentifizierung und interaktive Formularfelder zur Datenerfassung. IronPDF bietet digitale Signaturen und PDF-Formularunterstützung über dieselbe API.
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")
Beispiel einer verifizierten Unterschrift

Digitale Signaturen verwenden X.509-Zertifikate im PFX-Format und entsprechen den von Adobe Acrobat und anderen PDF-Viewern anerkannten PDF-Signaturstandards. Das Signaturfeld in Acrobat bestätigt den Zertifikatsaussteller, den Zeitpunkt der Signatur und den Integritätsstatus. Die PDF-Formular-API unterstützt Textfelder, Kontrollkästchen, Optionsfelder und Dropdown-Menüs. Sie können Formularvorlagen programmatisch erstellen, diese zur Laufzeit mit Daten füllen und die übermittelten Feldwerte aus den ausgefüllten Dokumenten auslesen. Dieses Muster eignet sich für das Vertragsmanagement, das Onboarding von HR-Mitarbeitern und automatisierte Datenerfassungspipelines, bei denen dieselbe PDF-Vorlage für viele Transaktionen mit unterschiedlichen Feldwerten wiederverwendet wird.
Für zeitstempelbasierte Signaturen übergeben Sie eine PdfSignature-Instanz, die mit einem Zeitstempelserver-URI konfiguriert ist, sodass die Signaturzeit von einer vertrauenswürdigen dritten Partei und nicht von der lokalen Systemuhr zertifiziert wird. Der Leitfaden zur Signaturerstellung umfasst sichtbare Signaturbilder, mehrere aufeinanderfolgende Unterzeichner und Optionen zur Zertifikatsvalidierung.
Wie kann man bestehende PDF-Dokumente bearbeiten und manipulieren?
Mit IronPDF können Sie PDF-Dateien bearbeiten, ohne sie aus HTML neu erstellen zu müssen. Fügen Sie Kopf- und Fußzeilen, Wasserzeichen und Anmerkungen hinzu oder führen und teilen Sie Seiten programmatisch.
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
Beispielausgabe

Die HTML-Header- und Footer-API unterstützt Template-Variablen wie {page}, {total-pages} und {date} für dynamische Inhalte. Die Methode für benutzerdefinierte Wasserzeichen akzeptiert ein HTML-Fragment, sodass Sie mit einem einzigen Aufruf gestylte, gedrehte, halbtransparente Überlagerungen auf alle Seiten anwenden können. Sie können PDFs auch nach Seitenbereich aufteilen , mehrere Dokumente zusammenführen und eingebettete Bilder und Textinhalte aus beliebigen PDFs extrahieren . Die Textextraktion erhält die Lesereihenfolge über Spalten und Tabellen hinweg, was die nachgelagerte Verarbeitung für Suchindexierung, Inhaltsmigration oder Datenvalidierungs-Workflows vereinfacht.
Wie wendet man Passwortschutz und Sicherheitseinstellungen an?
Der Schutz von PDF-Dokumenten mit Passwörtern und Berechtigungskennzeichnungen ist eine Standardanforderung für Finanzberichte, juristische Dokumente und Personalakten.
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")
Die PDF-Sicherheitseinstellungen-API verwendet 128-Bit- oder 256-Bit-AES-Verschlüsselung. Die Einstellung UserPassword erfordert, dass Leser beim Öffnen der Datei in einem beliebigen PDF-Viewer das Passwort eingeben. Die Einstellung OwnerPassword schränkt programmatische Änderungen und Operationen auf Eigentümerebene ein. Die Berechtigungsflags steuern unabhängig voneinander Druckqualität, Textauswahl, Anmerkungen und den Zugriff auf Formularfelder. Nach Anwendung der Sicherheitseinstellungen gibt die Eigenschaft BinaryData die verschlüsselten PDF-Bytes zur Speicherung oder HTTP-Übertragung zurück. Diese Einstellungen entsprechen dem Zugriffskontrollmodell der PDF-Spezifikation, sodass geschützte Dokumente in Adobe Acrobat, browserbasierten PDF-Viewern und mobilen Leseanwendungen korrekt geöffnet werden.
Um den Schutz eines Dokuments, dessen Eigentümer Sie sind, aufzuheben, laden Sie die Datei mit dem Eigentümerpasswort, das als Parameter an PdfDocument.FromFile übergeben wird, und speichern Sie sie anschließend ohne angewendete Sicherheitseinstellungen. Dies ermöglicht die programmatische Dokumentenverarbeitung in serverseitigen Workflows, bei denen passwortgeschützte Dateien als Eingaben eintreffen und vor der Weiterverteilung transformiert werden müssen.
Was sind Ihre nächsten Schritte?
Die IronPDF PDF API für .NET Core übernimmt den gesamten Dokumentlebenszyklus in C#: Generierung aus HTML-Zeichenketten und URLs, Konvertierung von DOCX- und Bilddateien, Konfiguration von Seitenlayout und Rendering-Optionen, Bearbeitung von Wasserzeichen, Kopf- und Fußzeilen, Anwenden digitaler Signaturen und Schutz von Dokumenten durch Verschlüsselung. Alle Operationen nutzen eine einheitliche API unter .NET 8, .NET 9 und .NET 10 auf Windows, macOS und Linux.
Starten Sie eine kostenlose Testversion , um IronPDF mit Ihren eigenen Dokumenten zu testen. Weitere Anwendungsfälle finden Sie im Leitfaden zu den HTML-zu-PDF-Rendering-Optionen , im Abschnitt zur PDF-Komprimierung und -Optimierung sowie in der vollständigen Funktionsübersicht von IronPDF . Prüfen Sie die Lizenzierungsoptionen für den Produktionseinsatz.
Häufig gestellte Fragen
Was ist die PDF-API von IronPDF for .NET Core?
IronPDF ist eine .NET-Bibliothek, die PDF-Dokumente in C#-Anwendungen generiert, konvertiert und bearbeitet. Sie wird als einzelnes NuGet-Paket installiert und unterstützt .NET 10, .NET 9, .NET 8 und .NET Framework 4.6.2 oder höher.
Wie erzeugt man ein PDF aus HTML in .NET Core?
Erstellen Sie eine ChromePdfRenderer-Instanz und rufen Sie RenderHtmlAsPdf mit einem HTML-String oder RenderUrlAsPdfAsync mit einer URL auf. Der Renderer konvertiert HTML-, CSS- und JavaScript-Ausgaben in ein PdfDocument-Objekt, das Sie speichern oder streamen können.
Wie konfiguriert man Seitengröße und Ränder in IronPDF?
Setzen Sie Eigenschaften in renderer.RenderingOptions, bevor Sie eine Render-Methode aufrufen. Verwenden Sie PaperSize für Standardformate, PaperOrientation für Hoch- oder Querformat und MarginTop, MarginBottom, MarginLeft, MarginRight für ränder in Millimeter.
Kann IronPDF DOCX-Dateien in PDF in .NET Core konvertieren?
Ja. Verwenden Sie DocxToPdfRenderer.RenderDocxAsPdf mit dem Dateipfad. Der Konverter bewahrt Absatzstile, Tabellen, Kopf- und Fußzeilen sowie eingebettete Bilder aus dem Word-Dokument der Quelle.
Wie fügt man einem PDF in C# eine digitale Signatur hinzu?
Laden Sie das PDF mit PdfDocument.FromFile, erstellen Sie eine PdfSignature mit dem PFX-Zertifikatspfad und Passwort, und rufen Sie dann pdf.Sign(signature) auf. Das resultierende Dokument wird in Adobe Acrobat und konformen PDF-Viewern als verifiziert angezeigt.
Wie schützt man ein PDF mit einem Passwort durch IronPDF?
Setzen Sie pdf.SecuritySettings.UserPassword für das Öffnungspasswort und pdf.SecuritySettings.OwnerPassword für das Besitzerpasswort. Verwenden Sie AllowUserPrinting, AllowUserCopyPasteContent und verwandte Flags, um individuelle Berechtigungen zu steuern.
Wie gibt man ein generiertes PDF als HTTP-Antwort in ASP.NET Core zurück?
Greifen Sie auf die BinaryData-Eigenschaft der PdfDocument-Instanz zu, um das PDF als Byte-Array abzurufen, und geben Sie es mit File(pdfBytes, 'application/pdf', 'filename.pdf') in einer ASP.NET Core Controller-Aktion zurück.
Funktioniert IronPDF auf Linux und macOS für .NET-Core-Anwendungen?
Ja. IronPDF läuft auf Windows, macOS und Linux ohne zusätzliche native Laufzeitabhängigkeiten. Es unterstützt containerisierte Bereitstellungen zu Docker, Azure und AWS ohne plattformspezifische Konfiguration.
Wie fügt man einem PDF mit IronPDF Kopf- und Fußzeilen hinzu?
Rufen Sie document.AddHtmlHeaders mit einem HtmlHeaderFooter-Objekt auf, dessen HtmlFragment die Kopfzeilen-Markup enthält. Verwenden Sie die Platzhalter {page}, {total-pages} und {date} für dynamische Werte. Die gleiche API gilt für Fußzeilen.
Ist IronPDF threadsicher für die Verwendung in ASP.NET Core?
ChromePdfRenderer ist threadsicher und kann als Singleton im Dependency Injection Container registriert werden. Für hochdurchsatzige Workloads verwenden Sie die asynchronen Render-Methoden (RenderHtmlAsPdfAsync, RenderUrlAsPdfAsync), um das Blockieren von Anforderungs-Threads zu vermeiden.




