Zum Fußzeileninhalt springen
IRONPDF NUTZEN

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.

View Full Comparison

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.

 IronPDF vs. iTextSharp MVC: Ansicht in PDF-Datei in C# umwandeln: Bild 1 - IronPDF

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.

 IronPDF vs iTextSharp MVC View to PDF File in C#: Image 2 - Merkmals

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
SHELL

 IronPDF vs iTextSharp MVC View to PDF File in C#: Image 3 - Install 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
$vbLabelText   $csharpLabel

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

 IronPDF vs iTextSharp MVC View to PDF File in C#: Image 4 - PDF Output

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.

 IronPDF vs iTextSharp MVC View to PDF File in C#: Image 5 - IronPDF vs iTextSharp MVC View to PDF

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
SHELL

 IronPDF vs iTextSharp MVC View to PDF File in C#: Image 6 - Installation

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

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

 IronPDF vs iTextSharp MVC View to PDF File in C#: Image 7 - IronPDF Output

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

 IronPDF vs iTextSharp MVC View to PDF File in C#: Image 8 - Cross-platform compatibility

Wie wählt man zwischen diesen beiden PDF-Bibliotheken?

Funktionsvergleich

iTextSharp vs. IronPDF – 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.

 IronPDF vs iTextSharp MVC View to PDF File in C#: Image 9 - Licensing

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

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

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

 IronPDF vs iTextSharp MVC View to PDF File in C#: Image 10 - Secure PDF Output

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

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

 IronPDF vs iTextSharp MVC View to PDF File in C#: Image 11 - Form Output

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

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

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

 IronPDF vs iTextSharp MVC View to PDF File in C#: Image 12 - JavaScript-Ausführung Output

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.

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