Zum Fußzeileninhalt springen
IRONPDF NUTZEN

Wie man mit IronPDF dynamisch PDF in .NET generiert

IronPDF .NET Core PDF-API-Übersicht zeigt Code-Editor mit HTML-zu-PDF-Konvertierung und Ausgabedokument nebeneinander

IronPDF ist eine PDF-API for .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
SHELL

Nach der Installation fügen Sie Ihren Lizenzschlüssel beim Start der Anwendung in Program.cs hinzu:

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

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.

Für ASP.NET Core-Projekte registrieren Sie IronPDF-Dienste in Program.cs, bevor Sie die App erstellen, und injizieren dann ChromePdfRenderer durch den Standard-DI-Container. 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 thread-sicher ist, können Sie es als Singleton registrieren und über Anforderungs-Handler hinweg teilen. In Szenarien mit hohem Durchsatz erstellen Sie einen Pool von Renderer-Instanzen oder verwenden Sie die asynchronen Render-Methoden (RenderHtmlAsPdfAsync, RenderUrlAsPdfAsync), um zu vermeiden, dass Anforderungsthreads blockiert werden, während die PDF-Erzeugung läuft. Auf der Lizenzseite von IronPDF finden Sie Informationen zu den Einsatzplätzen und den Beschränkungen für gleichzeitige Threads in Produktionsumgebungen.

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

Ausgabe-PDF-Dokument

Visual Studio Projekt, das IronPDF HTML-zu-PDF-Konvertierung ausführt und einen formatierten Verkaufsbericht mit einer stilisierten Datentabelle erzeugt

Der ChromePdfRenderer gibt ein PdfDocument-Objekt zurück, das Sie in einem Dateipfad speichern, in einen byte[] für HTTP-Antworten exportieren oder in einen MemoryStream für die Speicherverarbeitung schreiben können. Der Renderer beachtet alle CSS-Eigenschaften einschließlich benutzerdefinierter Schriftarten, Flexbox, Raster-Layouts, Media Queries und @page-Regeln für Rand- und Seitengrößenkontrolle. Für HTML-Vorlagen, die auf der Festplatte neben CSS und Bildressourcen gespeichert sind, rufen Sie RenderHtmlFileAsPdf mit dem Dateipfad auf, anstatt einen Inline-String 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 einen Screenshot einer beliebigen URL zu erstellen und JavaScript auszuführen:

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

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 auf ChromePdfRenderer steuert Seitenabmessungen, Ränder, Ausrichtung und das JavaScript-Warteverhalten, bevor irgendein Render-Aufruf 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")
$vbLabelText   $csharpLabel

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 die Ausführungszeit von JavaScript, was nützlich ist, wenn Ihr HTML Daten asynchron lädt, bevor Diagramme oder berechnete Tabellenwerte gerendert werden. Für Seiten, die CSS-@page-Regeln 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")
$vbLabelText   $csharpLabel

Beispiel: Eingabe-DOCX vs. Ausgabe-PDF

Gegenüberstellung des ursprünglichen Word-Dokuments und der von IronPDF konvertierten PDF-Ausgabe, die die erhaltene Tabellenformatierung und -stile zeigt

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

Beispiel einer verifizierten Unterschrift

Adobe Acrobat zeigt ein verifiziertes digitales Signaturfeld auf einem PDF, das mit IronPDFs PdfSignature API signiert wurde

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 zeigestempelte Signaturen übergeben Sie eine PdfSignature-Instanz, die mit einer Zeitstempelserver-URI konfiguriert ist, sodass die Signierzeit von einer vertrauenswürdigen dritten Partei statt vom lokalen Systemuhr verifiziert 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
$vbLabelText   $csharpLabel

Beispielausgabe

PDF-Dokument mit von IronPDF hinzugefügtem vertraulichen Wasserzeichen und gebrandetem Kopf mit Seitenzahlen und angehängten Anhängeseiten

Die HTML-Header-und-Footer-API unterstützt Template-Variablen einschließlich {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")
$vbLabelText   $csharpLabel

Die PDF-Sicherheitseinstellungen-API verwendet 128-Bit- oder 256-Bit-AES-Verschlüsselung. Durch das Setzen von UserPassword müssen Leser beim Öffnen der Datei in einem beliebigen PDF-Viewer das Passwort eingeben. Das Setzen von OwnerPassword beschränkt die programmgesteuerte Änderung und Besitzer-Level-Operationen. Die Berechtigungsflags steuern unabhängig voneinander Druckqualität, Textauswahl, Anmerkungen und den Zugriff auf Formularfelder. Nach dem Anwenden der Sicherheitseinstellungen gibt die BinaryData-Eigenschaft 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 aus einem Dokument, das Sie besitzen, zu entfernen, laden Sie die Datei mit dem Besitzer-Passwort, das als Parameter an PdfDocument.FromFile übergeben wird, und speichern Sie es 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 for .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.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen

Iron-Support-Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an