Wie man ASP.NET MVC-Ansichten zu PDF konvertiert: IronPDF vs iTextSharp
Full Comparison
Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.
Die Konvertierung von ASP.NET MVC-Views in PDF-Dokumente ist eine Kernanforderung in modernen Webanwendungen. Ob Sie Rechnungen, Berichte oder Zertifikate erstellen, die Herausforderung ist klar: Wie wandeln Sie Razor Ansichten in Professional PDF-Dateien um, die Formatierung und Stil beibehalten? Dieser Leitfaden vergleicht die ältere iTextSharp-Bibliothek mit IronPDF – der modernen, auf Chromium basierenden Lösung –, damit Sie das richtige Werkzeug für Ihren PDF-Generierungs-Workflow auswählen können.

Warum müssen MVC-Ansichten in PDF konvertiert werden?
Unternehmen sind für unzählige kritische Vorgänge auf die PDF-Generierung angewiesen. Für Rechnungssysteme werden fälschungssichere Rechnungsdokumente benötigt. Personalabteilungen erstellen Arbeitszeugnisse und Verträge. Vertriebsteams erstellen Angebote und Offerten. Bildungsplattformen stellen Abschlusszertifikate aus. Jedes Szenario erfordert eine serverseitige PDF-Generierung, die eine konsistente Formatierung über alle Geräte und Plattformen hinweg beibehält.
Laut der ASP.NET Core-Dokumentation bieten Razor Views ein hervorragendes Templatesystem zur Generierung dynamischer Inhalte, die anschließend in PDF konvertiert werden können. Die entscheidende Frage ist, welche Bibliothek die genaueste, wartungsfreundlichste und rechtlich einwandfreieste Lösung bietet.

Wie handhabt iTextSharp die Konvertierung von MVC in PDF?
iTextSharp ist seit über einem Jahrzehnt ein fester Bestandteil der .NET-PDF-Erstellung. Ursprünglich von der Java iText-Bibliothek portiert, bietet es Low-Level-Kontrolle über die PDF-Erstellung. Der Ansatz für die HTML-Konvertierung ist jedoch etwas in die Jahre gekommen, insbesondere wenn es um moderne Webinhalte geht.
Installation von iTextSharp
Um iTextSharp zu Ihrem ASP.NET Core MVC-Projekt hinzuzufügen, installieren Sie das NuGet Paket über die Paket-Manager-Konsole:
Install-Package iTextSharp
Install-Package iTextSharp

Grundlegende Implementierung mit iTextSharp
Hier ist ein vollständiges Beispiel, das zeigt, wie Sie eine MVC-Ansicht mithilfe der iTextSharp-Klasse XMLWorkerHelper in Ihrem ASP.NET MVC-Projekt in eine PDF-Datei konvertieren:
using iTextSharp.text;
using iTextSharp.tool.xml;
using iTextSharp.text.pdf;
using System.IO;
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult GeneratePDF()
{
// Create a simple invoice HTML
string invoiceHtml = @"
<h1>Invoice #1001</h1>
<p>Date: " + DateTime.Now.ToString("MM/dd/yyyy") + @"</p>
<table border='1'>
<tr><th>Item</th><th>Price</th></tr>
<tr><td>Product A</td><td>$99.99</td></tr>
<tr><td>Product B</td><td>$149.99</td></tr>
</table>
<p><strong>Total: $249.98</strong></p>";
// Create PDF document using iTextSharp
using var stream = new MemoryStream();
var document = new Document(PageSize.A4);
PdfWriter writer = PdfWriter.GetInstance(document, stream);
document.Open();
using (var srHtml = new StringReader(invoiceHtml))
{
XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, srHtml);
}
document.Close();
// Return the PDF file
return new FileContentResult(stream.ToArray(), "application/pdf")
{
FileDownloadName = "invoice.pdf"
};
}
}
using iTextSharp.text;
using iTextSharp.tool.xml;
using iTextSharp.text.pdf;
using System.IO;
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult GeneratePDF()
{
// Create a simple invoice HTML
string invoiceHtml = @"
<h1>Invoice #1001</h1>
<p>Date: " + DateTime.Now.ToString("MM/dd/yyyy") + @"</p>
<table border='1'>
<tr><th>Item</th><th>Price</th></tr>
<tr><td>Product A</td><td>$99.99</td></tr>
<tr><td>Product B</td><td>$149.99</td></tr>
</table>
<p><strong>Total: $249.98</strong></p>";
// Create PDF document using iTextSharp
using var stream = new MemoryStream();
var document = new Document(PageSize.A4);
PdfWriter writer = PdfWriter.GetInstance(document, stream);
document.Open();
using (var srHtml = new StringReader(invoiceHtml))
{
XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, srHtml);
}
document.Close();
// Return the PDF file
return new FileContentResult(stream.ToArray(), "application/pdf")
{
FileDownloadName = "invoice.pdf"
};
}
}
Imports iTextSharp.text
Imports iTextSharp.tool.xml
Imports iTextSharp.text.pdf
Imports System.IO
Public Class HomeController
Inherits Controller
Public Function Index() As ActionResult
Return View()
End Function
Public Function GeneratePDF() As ActionResult
' Create a simple invoice HTML
Dim invoiceHtml As String = "
<h1>Invoice #1001</h1>
<p>Date: " & DateTime.Now.ToString("MM/dd/yyyy") & "</p>
<table border='1'>
<tr><th>Item</th><th>Price</th></tr>
<tr><td>Product A</td><td>$99.99</td></tr>
<tr><td>Product B</td><td>$149.99</td></tr>
</table>
<p><strong>Total: $249.98</strong></p>"
' Create PDF document using iTextSharp
Using stream As New MemoryStream()
Dim document As New Document(PageSize.A4)
Dim writer As PdfWriter = PdfWriter.GetInstance(document, stream)
document.Open()
Using srHtml As New StringReader(invoiceHtml)
XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, srHtml)
End Using
document.Close()
' Return the PDF file
Return New FileContentResult(stream.ToArray(), "application/pdf") With {
.FileDownloadName = "invoice.pdf"
}
End Using
End Function
End Class
Dieses Beispiel erstellt aus HTML-Inhalten ein einfaches PDF-Dokument. Die Klasse XMLWorkerHelper verarbeitet die HTML-Zeichenkette und fügt dem PDF-Dokument mithilfe des Objektmodells Elemente hinzu. Der PdfWriter ist für die eigentliche PDF-Generierung zuständig, während der Document die Seitenstruktur verwaltet.
Ausgabe

Was sind die wichtigsten Einschränkungen von iTextSharp?
Die Klasse XMLWorkerHelper unterstützt grundlegende HTML-Tags und Inline-CSS. Moderne CSS3-Eigenschaften, Flexbox-Layouts und Grid-Systeme werden nicht gerendert. JavaScript-abhängige Inhalte entfallen vollständig. Komplexes Styling wie Farbverläufe, Schatten und Transformationen werden ignoriert. Selbst die Standard-Bootstrap-Klassen lassen sich nicht anwenden, sodass sorgfältig gestaltete Ansichten schlicht und unprofessionell wirken.
Viele Entwickler haben auf Stack Overflow über diese Einschränkungen berichtet, die zu Frustration führen, wenn sie versuchen, MVC-Ansichten mit iTextSharp in PDF zu konvertieren.
Vielleicht noch bedenklicher ist das Lizenzierungsmodell von iTextSharp. Die Bibliothek verwendet die AGPL-Lizenz, die Sie dazu verpflichtet, Ihre gesamte Anwendung als Open Source zu veröffentlichen, wenn Sie die kostenlose Version verwenden. Die Kosten für eine Gewerbelizenz beginnen bei mehreren tausend Dollar pro Jahr, was für viele Unternehmen unerschwinglich ist. Diese Lizenzbeschränkung hat viele Entwickler dazu veranlasst, nach Alternativen zu suchen, die besser auf die Bedürfnisse der kommerziellen Entwicklung abgestimmt sind. Wie in der .NET Dokumentation von Microsoft erläutert, ist die Auswahl von Bibliotheken mit geeigneten Lizenzen für kommerzielle Projekte von entscheidender Bedeutung.

Wie konvertiert man MVC-Ansichten mit einer modernen Bibliothek in PDF?
Das Programm basiert auf der Chromium-Rendering-Engine und konvertiert HTML in PDF genau so, wie es in Google Chrome angezeigt wird, wobei alle Styling-, JavaScript-Ausführungs- und Responsive-Design-Elemente erhalten bleiben.
Wie installiert man IronPDF?
Fügen Sie IronPDF über die NuGet -Paket-Manager-Konsole zu Ihrem Projekt hinzu:
Install-Package IronPdf
Install-Package IronPdf

Moderne Implementierung mit IronPDF
Die oben erstellte Rechnung verwendet nun modernes CSS und vollständiges HTML5-Rendering mit IronPDFs ChromePdfRenderer :
using IronPdf;
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult GenerateModernPDF()
{
// Create a styled invoice HTML with modern CSS
string invoiceHtml = @"
<style>
body { font-family: 'Segoe UI', Arial; padding: 40px; }
.invoice-header {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 30px;
border-radius: 10px;
}
table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
th {
background-color: #f3f4f6;
padding: 12px;
text-align: left;
}
td {
padding: 12px;
border-bottom: 1px solid #e5e7eb;
}
.total {
font-size: 24px;
color: #10b981;
text-align: right;
margin-top: 20px;
}
</style>
<div class='invoice-header'>
<h1>Invoice #1001</h1>
<p>Date: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
</div>
<table>
<tr><th>Item</th><th>Quantity</th><th>Price</th></tr>
<tr><td>Premium Package</td><td>1</td><td>$99.99</td></tr>
<tr><td>Professional Services</td><td>2</td><td>$149.99</td></tr>
</table>
<div class='total'>Total: $249.98</div>
<p>Page numbers and additional content can be added to each page.</p>";
// Use Chromium engine for rendering
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(invoiceHtml);
// Set content disposition for download
Response.Headers.Append("Content-Disposition", "attachment; filename=modern-invoice.pdf");
// Return the PDF file with binary data
return new FileContentResult(pdf.BinaryData, "application/pdf");
}
}
using IronPdf;
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult GenerateModernPDF()
{
// Create a styled invoice HTML with modern CSS
string invoiceHtml = @"
<style>
body { font-family: 'Segoe UI', Arial; padding: 40px; }
.invoice-header {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 30px;
border-radius: 10px;
}
table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
th {
background-color: #f3f4f6;
padding: 12px;
text-align: left;
}
td {
padding: 12px;
border-bottom: 1px solid #e5e7eb;
}
.total {
font-size: 24px;
color: #10b981;
text-align: right;
margin-top: 20px;
}
</style>
<div class='invoice-header'>
<h1>Invoice #1001</h1>
<p>Date: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
</div>
<table>
<tr><th>Item</th><th>Quantity</th><th>Price</th></tr>
<tr><td>Premium Package</td><td>1</td><td>$99.99</td></tr>
<tr><td>Professional Services</td><td>2</td><td>$149.99</td></tr>
</table>
<div class='total'>Total: $249.98</div>
<p>Page numbers and additional content can be added to each page.</p>";
// Use Chromium engine for rendering
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(invoiceHtml);
// Set content disposition for download
Response.Headers.Append("Content-Disposition", "attachment; filename=modern-invoice.pdf");
// Return the PDF file with binary data
return new FileContentResult(pdf.BinaryData, "application/pdf");
}
}
Imports IronPdf
Imports System.Web.Mvc
Public Class HomeController
Inherits Controller
Public Function Index() As ActionResult
Return View()
End Function
Public Function GenerateModernPDF() As ActionResult
' Create a styled invoice HTML with modern CSS
Dim invoiceHtml As String = "
<style>
body { font-family: 'Segoe UI', Arial; padding: 40px; }
.invoice-header {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 30px;
border-radius: 10px;
}
table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
th {
background-color: #f3f4f6;
padding: 12px;
text-align: left;
}
td {
padding: 12px;
border-bottom: 1px solid #e5e7eb;
}
.total {
font-size: 24px;
color: #10b981;
text-align: right;
margin-top: 20px;
}
</style>
<div class='invoice-header'>
<h1>Invoice #1001</h1>
<p>Date: " & DateTime.Now.ToString("MMMM dd, yyyy") & "</p>
</div>
<table>
<tr><th>Item</th><th>Quantity</th><th>Price</th></tr>
<tr><td>Premium Package</td><td>1</td><td>$99.99</td></tr>
<tr><td>Professional Services</td><td>2</td><td>$149.99</td></tr>
</table>
<div class='total'>Total: $249.98</div>
<p>Page numbers and additional content can be added to each page.</p>"
' Use Chromium engine for rendering
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(invoiceHtml)
' Set content disposition for download
Response.Headers.Append("Content-Disposition", "attachment; filename=modern-invoice.pdf")
' Return the PDF file with binary data
Return New FileContentResult(pdf.BinaryData, "application/pdf")
End Function
End Class
Der ChromePdfRenderer konvertiert das HTML genau so, wie es Chrome anzeigen würde. Farbverläufe im Hintergrund, moderne Schriftarten und ein anspruchsvolles Design werden alle präzise dargestellt. Der Renderer verarbeitet komplexe CSS-Eigenschaften, die iTextSharp nicht verarbeiten kann, einschließlich Flexbox, Rasterlayouts und CSS-Transformationen, die als statische Frames gerendert werden. Die Methode RenderHtmlAsPdf vereinfacht die Konvertierung von HTML zu PDF in MVC.
Ausgabe

Starten Sie Ihre kostenlose Testphase und erleben Sie die moderne PDF-Erstellung mit der Chrome-basierten Rendering-Engine.

Wie wählt man zwischen diesen beiden PDF-Bibliotheken?
Funktionsvergleich
| Merkmal | iTextSharp | IronPDF |
|---|---|---|
| HTML5-Unterstützung | Begrenzt | Vollständige |
| CSS3-Rendering | Nur die Basisversion | Vollständig |
| JavaScript-Ausführung | Nein | Ja |
| Flexbox-/Gitterunterstützung | Nein | Ja |
| Bootstrap-Kompatibilität | Teilweise | Vollständige |
| Webfont-Unterstützung | Begrenzt | Vollständig |
| SVG-Grafiken | Nein | Ja |
| Responsive Design | Nein | Ja |
| API-Komplexität | Niedriges Niveau | Hochrangiges Niveau |
Lizenzüberlegungen
Der Unterschied in der Lizenzierung dieser Bibliotheken hat erhebliche Auswirkungen auf die kommerzielle Entwicklung. die AGPL-Lizenz von iTextSharp schafft rechtliche Verpflichtungen, die viele Unternehmen nicht akzeptieren können. Die Verwendung der kostenlosen Version erfordert das Open-Sourcing Ihrer gesamten Anwendung, einschließlich der proprietären Geschäftslogik. Diese Einschränkung macht iTextSharp für die meisten kommerziellen Projekte ungeeignet, es sei denn, Sie erwerben eine teure kommerzielle Lizenz.
IronPDF bietet unkomplizierte kommerzielle Lizenzen ab $799 für einen einzelnen Entwickler an. Die Lizenz umfasst ein Jahr lang Updates und Support, ohne dass Sie verpflichtet sind, Ihre Anwendung als Open-Source zu veröffentlichen. Das transparente Preismodell ist auf typische Softwareentwicklungsbudgets abgestimmt und macht die professionelle PDF-Generierung bei der Konvertierung von MVC-Ansichten in C# für Unternehmen aller Größenordnungen zugänglich.

Analyse der Ausgabequalität
Der Unterschied in der Rendering-Qualität wird beim Vergleich der Ausgaben sofort deutlich. iTextSharp erzeugt einfache PDFs, die Dokumenten aus den frühen 2000er Jahren ähneln. Den Tabellen fehlt das richtige Styling, die Schriftarten entsprechen den Systemstandards, und moderne Designelemente fehlen völlig. Die resultierenden PDFs sehen unprofessionell aus und passen nicht zum Branding Ihrer Anwendung.
IronPDF generiert pixelgenaue PDFs, die zu Ihrem Webdesign passen. Farbverläufe werden präzise dargestellt, benutzerdefinierte Schriftarten korrekt angezeigt und komplexe Layouts behalten ihre Struktur. Die Chromium-Engine sorgt dafür, dass Ihre PDFs in der Webansicht identisch aussehen und somit die Markenidentität und das Professional Erscheinungsbild aller generierten Dokumente gewahrt bleiben.
Welche erweiterten Funktionen bietet der PDF-Renderer?
Über die grundlegende HTML-Konvertierung hinaus bietet IronPDF Funktionen auf Unternehmensebene, die die Professional PDF-Erstellung beschleunigen. Die vollständige API-Dokumentation demonstriert die umfangreichen Möglichkeiten der Bibliothek zur Konvertierung von MVC-Ansichten in PDF.
Kopf- und Fußzeilen
Fügen Sie professionelle Kopf- und Fußzeilen mit dynamischem Inhalt hinzu:
var renderer = new ChromePdfRenderer
{
RenderingOptions = new ChromePdfRenderOptions
{
HtmlHeader = new HtmlHeaderFooter
{
MaxHeight = 25,
HtmlFragment = "<div style='text-align: center'>Company Name</div>"
},
HtmlFooter = new HtmlHeaderFooter
{
MaxHeight = 20,
HtmlFragment = "<center>Page {page} of {total-pages}</center>"
}
}
};
var renderer = new ChromePdfRenderer
{
RenderingOptions = new ChromePdfRenderOptions
{
HtmlHeader = new HtmlHeaderFooter
{
MaxHeight = 25,
HtmlFragment = "<div style='text-align: center'>Company Name</div>"
},
HtmlFooter = new HtmlHeaderFooter
{
MaxHeight = 20,
HtmlFragment = "<center>Page {page} of {total-pages}</center>"
}
}
};
Dim renderer = New ChromePdfRenderer With {
.RenderingOptions = New ChromePdfRenderOptions With {
.HtmlHeader = New HtmlHeaderFooter With {
.MaxHeight = 25,
.HtmlFragment = "<div style='text-align: center'>Company Name</div>"
},
.HtmlFooter = New HtmlHeaderFooter With {
.MaxHeight = 20,
.HtmlFragment = "<center>Page {page} of {total-pages}</center>"
}
}
}
Diese Konfiguration sorgt für ein einheitliches Branding auf jeder Seite. Die Platzhalter {page} und {total-pages} werden automatisch mit den richtigen Werten befüllt, wodurch eine korrekte Seitennummerierung im gesamten Dokument gewährleistet wird. Weitere Konfigurationsoptionen finden Sie im Leitfaden für Kopf- und Fußzeilen .
Sicherheit und Verschlüsselung
Schützen Sie sensible Dokumente mit Passwörtern und Berechtigungen mithilfe der Sicherheitsfunktionen von IronPDF:
var pdf = renderer.RenderHtmlAsPdf(html);
// Add password protection
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
// Set permissions
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
var pdf = renderer.RenderHtmlAsPdf(html);
// Add password protection
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
// Set permissions
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
Dim pdf = renderer.RenderHtmlAsPdf(html)
' Add password protection
pdf.SecuritySettings.UserPassword = "user123"
pdf.SecuritySettings.OwnerPassword = "owner456"
' Set permissions
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
pdf.SecuritySettings.AllowUserCopyPasteContent = False
Diese Sicherheitseinstellungen verhindern unbefugten Zugriff und steuern, wie Empfänger mit Ihren PDFs interagieren können, wenn Sie MVC-Ansichten in PDF konvertieren. Sie können Drucken, Kopieren und Bearbeiten einschränken und gleichzeitig die volle Kontrolle als Eigentümer behalten. Mehr dazu erfahren Sie in der PDF-Sicherheitsdokumentation .
Ausgabe

Formularfeld-Behandlung
IronPDF wandelt HTML-Formulare ohne zusätzliche Tools in interaktive PDF-Formulare um:
string formHtml = @"
<form>
<label>Name:</label>
<input type='checkbox'> Accept Terms
<select name='country'>
<option>USA</option>
<option>Canada</option>
</select>
</form>";
var pdf = renderer.RenderHtmlAsPdf(formHtml);
string formHtml = @"
<form>
<label>Name:</label>
<input type='checkbox'> Accept Terms
<select name='country'>
<option>USA</option>
<option>Canada</option>
</select>
</form>";
var pdf = renderer.RenderHtmlAsPdf(formHtml);
Imports System
Dim formHtml As String = "
<form>
<label>Name:</label>
<input type='checkbox'> Accept Terms
<select name='country'>
<option>USA</option>
<option>Canada</option>
</select>
</form>"
Dim pdf = renderer.RenderHtmlAsPdf(formHtml)
Die resultierende PDF-Datei behält die Interaktivität des Formulars bei, so dass die Benutzer die Felder direkt in ihrem PDF-Reader ausfüllen können. Diese Funktion macht separate Formularerstellungstools überflüssig und vereinfacht so Ihren Dokumentenworkflow. Weitere Optionen finden Sie in der Dokumentation zu den Formularen .
Ausgabe

Wie lassen sich häufige Probleme bei der PDF-Erstellung beheben?
Auch mit modernen Bibliotheken gibt es bestimmte Herausforderungen, die spezifische Lösungen erfordern, um eine optimale PDF-Ausgabe zu gewährleisten. Die folgenden Muster behandeln die häufigsten Probleme, mit denen Entwickler bei der Konvertierung von MVC-Ansichten in PDF konfrontiert werden.
CSS-Rendering-Optimierung
Für beste Ergebnisse mit komplexem CSS bei der Konvertierung von HTML-Dateien in das PDF-Format sollten Sie Print Media Queries verwenden:
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
Diese Einstellung wendet druckspezifische CSS-Regeln an und optimiert das Layout für die PDF-Ausgabe anstatt für die Bildschirmdarstellung. Die Kombination mit druckoptimierten Stylesheets ermöglicht Ihnen die präzise Steuerung von Seitenumbrüchen, Rändern und Typografie. Der CSS-Medientypenleitfaden erläutert zusätzliche Rendering-Optionen.
JavaScript-Ausführungszeitpunkt
Bei der Konvertierung dynamischer Inhalte sollte genügend Zeit für die JavaScript Ausführung eingeplant werden, bevor die PDF-Datei erfasst wird. Dadurch wird sichergestellt, dass alle AJAX-Aufrufe und DOM-Manipulationen abgeschlossen werden:
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay = 500; // milliseconds
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay = 500; // milliseconds
Diese Konfiguration stellt sicher, dass AJAX-Aufrufe abgeschlossen und DOM-Manipulationen beendet sind, bevor die PDF-Generierung beginnt, und erfasst so den vollständig gerenderten Zustand Ihrer MVC-Ansicht. Bei Diagrammbibliotheken und anderen Inhalten mit hohem Asynchronitätsanteil müssen Sie möglicherweise den Verzögerungswert erhöhen.
Ausgabe

Schrifteinbettung und Dokumentformatierung
Stellen Sie sicher, dass benutzerdefinierte Schriftarten korrekt dargestellt werden, indem Sie sie mithilfe von Base64-kodierten Daten-URIs direkt in Ihren HTML-Code einbetten:
@font-face {
font-family: 'CustomFont';
src: url(data:font/woff2;base64,[base64-encoded-font]) format('woff2');
}
Die Einbettung von Schriftarten direkt in den HTML-Code garantiert eine konsistente Darstellung in allen Umgebungen und vermeidet Probleme mit fehlenden Schriftarten in generierten PDF-Dokumenten. Dieser Ansatz funktioniert gleichermaßen gut, egal ob Sie ein URL-basiertes Rendering über RenderUrlAsPdf oder ein String-basiertes Rendering über RenderHtmlAsPdf verwenden.
Weitere Konfigurationsmuster, einschließlich Seitengröße, Ausrichtung und Randsteuerung, finden Sie in der Dokumentation zu den Rendering-Optionen von IronPDF . Auf GitHub finden Sie außerdem Beispielprojekte , die gängige MVC-Integrationsmuster veranschaulichen.
Was sind Ihre nächsten Schritte?
Während iTextSharp der .NET Community viele Jahre lang gute Dienste geleistet hat, erfordert die moderne Webentwicklung eine leistungsfähigere PDF-Generierung. Die Chrome-basierte Rendering-Engine von IronPDF liefert pixelgenaue Präzision und volle CSS3-Unterstützung, die moderne ASP.NET MVC-Anwendungen benötigen. Dank der benutzerfreundlichen API, der umfassenden Dokumentation und der unternehmensfreundlichen Lizenzierung ist IronPDF die optimale Wahl für ASP.NET Core MVC-Projekte.
Um die PDF-Generierung in Ihrer Anwendung weiter zu optimieren:
Laden Sie die kostenlose Testversion herunter und führen Sie die Codebeispiele aus diesem Leitfaden in Ihrem eigenen Projekt aus.
- Lesen Sie die IronPDF -API-Referenz , um den vollständigen Funktionsumfang kennenzulernen.
- Lesen Sie die Anleitungen zu Wasserzeichen, digitalen Signaturen und dem Zusammenführen von PDFs.
- Prüfen Sie die Lizenzoptionen , um den passenden Plan für Ihr Team zu finden.
- Im IronPDF Blog finden Sie weitere Tutorials zur PDF-Bearbeitung in .NET.
Häufig gestellte Fragen
Was ist der Zweck der Konvertierung von MVC-Ansichten in PDF?
Die Konvertierung von MVC-Ansichten in PDF ermöglicht es Entwicklern, druckbare und leicht weiterzugebende Dokumente direkt aus Webanwendungen zu erstellen, wobei Layout und Design der ursprünglichen Ansicht erhalten bleiben.
Was ist IronPDF?
IronPDF ist eine .NET-Bibliothek, die die Erstellung, Bearbeitung und Konvertierung von PDF-Dokumenten in .NET-Anwendungen erleichtert und eine einfache Möglichkeit zur Integration von PDF-Funktionen bietet.
Wie vereinfacht IronPDF die Konvertierung von MVC-Ansichten in PDF?
IronPDF vereinfacht diesen Prozess, indem es Entwicklern ermöglicht, HTML- und MVC-Ansichten direkt in das PDF-Format umzuwandeln, ohne dass umfangreiche Kodierungsanforderungen erforderlich sind, wobei das ursprüngliche Layout und Design erhalten bleiben.
Welche Einschränkungen hat iTextSharp für die MVC-PDF-Konvertierung?
iTextSharps XMLWorkerHelper unterstützt keine modernen CSS3, Flexbox, Gitterlayouts, JavaScript-Ausführung oder Bootstrap-Styling. Seine AGPL-Lizenz erfordert zudem die Offenlegung Ihrer Anwendung, wenn Sie die kostenlose Version verwenden.
Kann IronPDF JavaScript rendern, bevor das PDF generiert wird?
Ja, IronPDF unterstützt die JavaScript-Ausführung während des Renderings. Sie können es mit EnableJavaScript aktivieren und die Renderverzögerung mit WaitFor.RenderDelay steuern, um sicherzustellen, dass dynamische Inhalte vollständig geladen sind.
Was sind die Systemanforderungen für die Verwendung von IronPDF?
IronPDF unterstützt .NET 6, .NET 7, .NET 8, .NET Core und .NET Framework 4.6.2+. Es läuft auf Windows, Linux und macOS.
Ist es möglich, die PDF-Ausgabe bei der Konvertierung von MVC-Ansichten anzupassen?
Ja, mit IronPDF können Entwickler die PDF-Ausgabe anpassen, indem sie Einstellungen wie Seitengröße, -orientierung, Ränder, Kopfzeilen, Fußzeilen, Sicherheitseinstellungen und CSS-Medientyp anpassen.
Unterstützt IronPDF CSS-Styling für die PDF-Konvertierung?
IronPDF unterstützt vollständiges CSS3-Styling durch seine Chromium-Rendering-Engine und stellt sicher, dass das konvertierte PDF das visuelle Erscheinungsbild des ursprünglichen HTML- oder MVC-Ansicht beibehält, einschließlich Schriftarten, Farben, Farbverläufen und Layout.
Wie ist die Leistung von IronPDF im Vergleich zu iTextSharp?
IronPDF verwendet die Chromium-Engine zum Rendern, was einen Startkosten verursacht, aber eine weit überlegene Rendering-Genauigkeit liefert. Für Szenarien mit hohem Volumen unterstützt IronPDF asynchrones Rendern und kann mit threadsicheren Renderer-Instanzen optimiert werden.
Wo kann ich die Dokumentation für IronPDF finden?
Die vollständige Dokumentation für IronPDF ist unter https://ironpdf.com/how-to/ verfügbar, einschließlich Anleitungen, Tutorials und API-Referenzen, um Entwicklern bei der Implementierung zu helfen.




