Zum Fußzeileninhalt springen
IRONPDF NUTZEN

Wie man PDF-Dateien in .NET Core erstellt

Das programmgesteuerte Erstellen eines PDF-Dokuments ist ein gängiger Ansatz und eine häufige Anforderung in modernen Webanwendungen. Ob Sie nun Rechnungen, Berichte oder ein beliebiges dokumentbasiertes System erstellen, es ist entscheidend zu wissen, wie man PDF-Dateien effizient in ASP-Anwendungen und .NET Core erstellt. In diesem Tutorial werden wir die besten Methoden erkunden, um mit .NET Core PDF-Dateien mit IronPDF zu erstellen. Dies ist eine leistungsstarke .NET Core-Bibliothek, die die Möglichkeiten zur PDF-Erstellung vereinfacht. Für umfassende technische Details, verweisen Sie auf die offizielle Dokumentation.

Einstieg mit IronPDF

IronPDF ist eine umfassende .NET Core PDF-Bibliothek, die komplexe PDF-Erstellung in einfache Operationen umwandelt. Im Gegensatz zu traditionellen Ansätzen, die ein manuelles Zeichnen der Elemente erfordern, nutzt IronPDF HTML-Markup und CSS, um PDF-Dateien zu generieren, die genau Ihren Designanforderungen entsprechen.

Um mit der Erstellung von PDFs in Ihrem .NET Core-Bibliotheksprojekt zu beginnen, installieren Sie das IronPDF NuGet-Paket mithilfe der Paket-Manager-Konsole von Visual Studio, indem Sie den folgenden Befehl ausführen:

Install-Package IronPdf

Diese einfache Installation bietet sofortigen Zugriff auf robuste PDF-Erstellungsmöglichkeiten für Ihre Webanwendungen.

Erstellen Ihres ersten PDF-Dokuments

Lassen Sie uns ein einfaches PDF-Dokument erstellen, um die Grundlagen zu verstehen. Das folgende Beispiel demonstriert, wie man PDFs mit formatiertem Inhalt erzeugt:

using IronPdf;
// Create a new ChromePdfRenderer object
var renderer = new ChromePdfRenderer();
// Define HTML content with styling
var html = @"
    <html>
        <body style='font-family: Arial; margin: 40px;'>
            <h1>Hello World PDF Document</h1>
            <p>This is your first PDF file created with IronPDF!</p>
        </body>
    </html>";
// Generate PDF from HTML
var pdf = renderer.RenderHtmlAsPdf(html);
// Save the PDF document
pdf.SaveAs("output.pdf");
using IronPdf;
// Create a new ChromePdfRenderer object
var renderer = new ChromePdfRenderer();
// Define HTML content with styling
var html = @"
    <html>
        <body style='font-family: Arial; margin: 40px;'>
            <h1>Hello World PDF Document</h1>
            <p>This is your first PDF file created with IronPDF!</p>
        </body>
    </html>";
// Generate PDF from HTML
var pdf = renderer.RenderHtmlAsPdf(html);
// Save the PDF document
pdf.SaveAs("output.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieser Code erstellt ein neues PdfDocument-Objekt, das ein neues PDF erstellt, indem es HTML-Inhalt rendert. Der ChromePdfRenderer übernimmt die Konvertierung und stellt sicher, dass Ihre PDF-Dokumente konsistente Formatierungen beibehalten.

Ausgabe

HTML in PDF mit erweiterten Funktionen konvertieren

IronPDF ist hervorragend darin, komplexe Webseiten und HTML-Inhalte in professionelle PDF-Dateien zu konvertieren. Der folgende Code zeigt, wie die Erstellung eines neuen PDF-Dokuments mit fortgeschrittenen Funktionen wie Tabellen, Bildern und stilisierten Elementen funktioniert:

public void CreateAdvancedPdf()
{
    var renderer = new ChromePdfRenderer();
    // Configure rendering options
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    var html = @"
        <html>
        <head>
            <style>
                table { width: 100%; border-collapse: collapse; }
                th, td { padding: 10px; border: 1px solid #ddd; }
                th { background-color: #f2f2f2; }
            </style>
        </head>
        <body>
            <h2>Sales Report</h2>
            <table>
                <tr>
                    <th>Product</th>
                    <th>Quantity</th>
                    <th>Total</th>
                </tr>
                <tr>
                    <td>Software License</td>
                    <td>10</td>
                    <td>$500</td>
               </tr>
            </table>
        </body>
        </html>";
    // Create PDF file
    var pdf = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("report.pdf");
}
public void CreateAdvancedPdf()
{
    var renderer = new ChromePdfRenderer();
    // Configure rendering options
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    var html = @"
        <html>
        <head>
            <style>
                table { width: 100%; border-collapse: collapse; }
                th, td { padding: 10px; border: 1px solid #ddd; }
                th { background-color: #f2f2f2; }
            </style>
        </head>
        <body>
            <h2>Sales Report</h2>
            <table>
                <tr>
                    <th>Product</th>
                    <th>Quantity</th>
                    <th>Total</th>
                </tr>
                <tr>
                    <td>Software License</td>
                    <td>10</td>
                    <td>$500</td>
               </tr>
            </table>
        </body>
        </html>";
    // Create PDF file
    var pdf = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("report.pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieses Beispiel zeigt, wie man PDF-Dokumente mit formatierten Tabellen erstellt, indem es die Fähigkeit von IronPDF demonstriert, komplexe Layouts und CSS-Styling zu handhaben.

Ausgabe

Wie man PDF-Dateien in .NET Core erstellt: Abbildung 2 - PDF mit erweiterten Funktionen

Arbeiten mit ASP.NET Core-Anwendungen

Die Integration der PDF-Erstellung in ASP.NET Core MVC-Ansichten ist einfach. Hier ist eine Beispielprojektimplementierung zur Erstellung von PDFs aus einem Controller:

using Microsoft.AspNetCore.Mvc;
using IronPdf;
using System.IO;
public class DocumentController : Controller
{
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();
        // Create HTML content
        var html = "<h1>Invoice</h1><p>Thank you for your purchase!</p>";
        // Generate PDF
        var pdf = renderer.RenderHtmlAsPdf(html);
        byte[] pdfBytes = pdf.BinaryData;
    // Return PDF file using the byte array, setting the content type to PDF
    return File(pdfBytes,
            "application/pdf",
            "document.pdf");
       }
    }
}
using Microsoft.AspNetCore.Mvc;
using IronPdf;
using System.IO;
public class DocumentController : Controller
{
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();
        // Create HTML content
        var html = "<h1>Invoice</h1><p>Thank you for your purchase!</p>";
        // Generate PDF
        var pdf = renderer.RenderHtmlAsPdf(html);
        byte[] pdfBytes = pdf.BinaryData;
    // Return PDF file using the byte array, setting the content type to PDF
    return File(pdfBytes,
            "application/pdf",
            "document.pdf");
       }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Diese Controllermethode erzeugt ein PDF-Dokument und gibt es als herunterladbare Datei zurück, ideal für die serverseitige Verarbeitung in Webanwendungen. Sie könnten auch ein neues MemoryStream-Objekt verwenden, um die Erstellung des PDF-Dokuments zu handhaben.

Ausgabe

Wie man PDF-Dateien in .NET Core erstellt: Abbildung 3 - PDF, das mit unserem ASP.NET-Controller generiert wurde

Fortgeschrittene Techniken zur PDF-Erstellung

IronPDF unterstützt zahlreiche erweiterte Funktionen zur Erstellung von PDFs. Sie können Kopfzeilen, Fußzeilen, Seitenzahlen hinzufügen und sogar mehrere PDF-Dateien zusammenführen:

public void CreatePdfWithHeaderFooter()
{
    var renderer = new ChromePdfRenderer();
    // Add header
    renderer.RenderingOptions.TextHeader = new TextHeaderFooter
    {
        CenterText = "Company Report",
        DrawDividerLine = true
    };
    // Add footer with page numbers
    renderer.RenderingOptions.TextFooter = new TextHeaderFooter
    {
        CenterText = "Page {page} of {total-pages}",
        DrawDividerLine = true
    };
    var html = "<h1>Annual Report</h1><p>Content goes here...</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Save the new document
    pdf.SaveAs("report-with-header.pdf");
}
// Merge multiple PDFs
public void MergePdfFiles()
{
    var renderer = new ChromePdfRenderer();
    var pdf1 = renderer.RenderHtmlAsPdf("<p>First Document</p>");
    var pdf2 = renderer.RenderHtmlAsPdf("<p>Second Document</p>");
    // Merge PDF documents
    var merged = PdfDocument.Merge(pdf1, pdf2);
    merged.SaveAs("merged.pdf");
}
// Example of iterating over something, illustrating 'int i' and 'index'
public void ProcessMultipleFiles(string[] filePaths)
{
    for (int i = 0; i < filePaths.Length; i++)
    {
        // Use 'i' as an index to process each source file
        var source file = filePaths[i];
        Console.WriteLine($"Processing file at index {i}: {source file}");
        // Imagine code here to load or process the file
        // var pdf = PdfDocument.FromFile(sourceFile); // load
    }
}
public void CreatePdfWithHeaderFooter()
{
    var renderer = new ChromePdfRenderer();
    // Add header
    renderer.RenderingOptions.TextHeader = new TextHeaderFooter
    {
        CenterText = "Company Report",
        DrawDividerLine = true
    };
    // Add footer with page numbers
    renderer.RenderingOptions.TextFooter = new TextHeaderFooter
    {
        CenterText = "Page {page} of {total-pages}",
        DrawDividerLine = true
    };
    var html = "<h1>Annual Report</h1><p>Content goes here...</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Save the new document
    pdf.SaveAs("report-with-header.pdf");
}
// Merge multiple PDFs
public void MergePdfFiles()
{
    var renderer = new ChromePdfRenderer();
    var pdf1 = renderer.RenderHtmlAsPdf("<p>First Document</p>");
    var pdf2 = renderer.RenderHtmlAsPdf("<p>Second Document</p>");
    // Merge PDF documents
    var merged = PdfDocument.Merge(pdf1, pdf2);
    merged.SaveAs("merged.pdf");
}
// Example of iterating over something, illustrating 'int i' and 'index'
public void ProcessMultipleFiles(string[] filePaths)
{
    for (int i = 0; i < filePaths.Length; i++)
    {
        // Use 'i' as an index to process each source file
        var source file = filePaths[i];
        Console.WriteLine($"Processing file at index {i}: {source file}");
        // Imagine code here to load or process the file
        // var pdf = PdfDocument.FromFile(sourceFile); // load
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Diese Beispiele zeigen, wie man professionelle Details zu Ihren PDF-Dokumenten hinzufügt und mehrere Dateien in ein einziges Dokument kombiniert.

Wie man PDF-Dateien in .NET Core erstellt: Abbildung 4 - PDF erstellt mit einfacher, benutzerdefinierter Kopf- und Fußzeile

Arbeiten mit Formularen und dynamischen Inhalten

IronPDF kann interaktive PDF-Dokumente mit Formularfeldern erstellen:

public void CreatePdfWithForm()
{
    var html = @"
    <!DOCTYPE html>
    <html>
    <head>
        <title>PDF Test Form</title>
        <style>
            body {
                font-family: Arial, sans-serif;
                margin: 20px;
                background-color: #f4f4f4;
            }
            .form-container {
                width: 400px;
                padding: 20px;
                border: 1px solid #ccc;
                border-radius: 8px;
                background-color: #fff;
                box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
            }
            .form-group {
                margin-bottom: 15px;
            }
            label {
                display: block; /* Make label take up full width */
                margin-bottom: 5px;
                font-weight: bold;
                color: #333;
            }
            input[type='text'], textarea {
                width: 100%;
                padding: 10px;
                border: 1px solid #ddd;
                border-radius: 4px;
                box-sizing: border-box; /* Include padding and border in the element's total width and height */
            }
            textarea {
                height: 100px;
                resize: vertical;
            }
            .checkbox-group {
                display: flex;
                align-items: center;
            }
            .checkbox-group label {
                display: inline;
                font-weight: normal;
                margin-left: 8px;
            }
        </style>
    </head>
    <body>
        <div class='form-container'>
            <h2>Document Generation Test Form</h2>
            <form>
                <div class='form-group'>
                    <label for='fullName'>Full Name:</label>
                </div>
                <div class='form-group'>
                    <label for='comments'>Comments/Feedback:</label>
                    <textarea id='comments' name='comments' placeholder='Type your feedback here...'></textarea>
                </div>
                <div class='form-group checkbox-group'>
                    <label for='agree'>I agree to the terms and conditions.</label>
                </div>
                <button style='padding: 10px 15px; background-color: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer;'>
                    Test Button Rendering
                </button>
            </form>
        </div>
    </body>
    </html>";
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
    var pdf = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("form.pdf");
}
public void CreatePdfWithForm()
{
    var html = @"
    <!DOCTYPE html>
    <html>
    <head>
        <title>PDF Test Form</title>
        <style>
            body {
                font-family: Arial, sans-serif;
                margin: 20px;
                background-color: #f4f4f4;
            }
            .form-container {
                width: 400px;
                padding: 20px;
                border: 1px solid #ccc;
                border-radius: 8px;
                background-color: #fff;
                box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
            }
            .form-group {
                margin-bottom: 15px;
            }
            label {
                display: block; /* Make label take up full width */
                margin-bottom: 5px;
                font-weight: bold;
                color: #333;
            }
            input[type='text'], textarea {
                width: 100%;
                padding: 10px;
                border: 1px solid #ddd;
                border-radius: 4px;
                box-sizing: border-box; /* Include padding and border in the element's total width and height */
            }
            textarea {
                height: 100px;
                resize: vertical;
            }
            .checkbox-group {
                display: flex;
                align-items: center;
            }
            .checkbox-group label {
                display: inline;
                font-weight: normal;
                margin-left: 8px;
            }
        </style>
    </head>
    <body>
        <div class='form-container'>
            <h2>Document Generation Test Form</h2>
            <form>
                <div class='form-group'>
                    <label for='fullName'>Full Name:</label>
                </div>
                <div class='form-group'>
                    <label for='comments'>Comments/Feedback:</label>
                    <textarea id='comments' name='comments' placeholder='Type your feedback here...'></textarea>
                </div>
                <div class='form-group checkbox-group'>
                    <label for='agree'>I agree to the terms and conditions.</label>
                </div>
                <button style='padding: 10px 15px; background-color: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer;'>
                    Test Button Rendering
                </button>
            </form>
        </div>
    </body>
    </html>";
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
    var pdf = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("form.pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dies erstellt ein interaktives PDF mit Formularfeldern, die Benutzer ausfüllen können, perfekt für Anwendungen, die Benutzereingaben erfordern. Der Code zeigt auch, wo ein HTML-Link innerhalb des generierten Inhalts verwendet werden könnte.

Ausgabe PDF with Editable Form

Wie man PDF-Dateien in .NET Core erstellt: Abbildung 5 - PDF mit ausfüllbarem Formular

Bewährte Methoden und Fehlerbehandlung

Beim Erstellen von PDF-Dateien in der Produktion, implementieren Sie eine ordnungsgemäße Fehlerbehandlung:

try
{
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("output.pdf");
}
catch (Exception ex)
{
    // Log error and handle appropriately
    Console.WriteLine($"PDF generation failed: {ex.Message}");
}
try
{
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("output.pdf");
}
catch (Exception ex)
{
    // Log error and handle appropriately
    Console.WriteLine($"PDF generation failed: {ex.Message}");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Stellen Sie immer sicher, dass die Eingabedaten validiert werden und behandeln Sie Ausnahmen auf eine ordnungsgemäße Weise, um eine zuverlässige PDF-Erstellung in Ihren Anwendungen zu gewährleisten.

Abschluss

IronPDF verwandelt die komplexe Aufgabe der PDF-Erstellung in .NET Core in einen einfachen, überschaubaren Prozess. Von der grundlegenden Dokumentenerstellung bis hin zu fortschrittlichen Funktionen wie Formularen, Bildern und Seitenmanagement bietet diese .NET-Bibliothek umfassende Tools zur programmatischen Erstellung von PDF-Dokumenten. Durch die Verwendung eines gängigen Ansatzes zur Konvertierung von HTML können Sie schnell Daten laden und die fertigen Dateien herunterladen.

Ob Sie einfache Berichte oder komplexe mehrseitige Dokumente erstellen, das intuitive API und die leistungsfähige Rendering-Engine von IronPDF machen es zur idealen Wahl für .NET-Entwickler. Beginnen Sie noch heute mit der Erstellung professioneller PDF-Dateien in Ihren ASP.NET Core-Anwendungen mit der kostenlosen Testversion von IronPDF.

Sind Sie bereit, Ihre Anwendung mit Funktionen zur PDF-Erstellung zu erweitern? Beginnen Sie mit IronPDF und erleben Sie, wie einfach das Erstellen von PDFs sein kann.

Häufig gestellte Fragen

Was ist IronPDF?

IronPDF ist eine leistungsstarke .NET Core-Bibliothek, die entwickelt wurde, um die Erstellung und Bearbeitung von PDF-Dokumenten in ASP.NET-Anwendungen zu vereinfachen.

Wie kann ich PDF-Dokumente in .NET Core erstellen?

Sie können PDF-Dokumente in .NET Core mithilfe der IronPDF-Bibliothek erstellen, die einfache Methoden zur programmgesteuerten PDF-Erstellung in Ihren Anwendungen bietet.

Welche Arten von Dokumenten kann ich mit IronPDF erstellen?

Mit IronPDF können Sie eine Vielzahl von Dokumenttypen erstellen, einschließlich Rechnungen, Berichten und allen anderen dokumentbasierten Systemen, die eine PDF-Erstellung erfordern.

Ist IronPDF für ASP.NET-Anwendungen geeignet?

Ja, IronPDF ist besonders gut für ASP.NET-Anwendungen geeignet und bietet nahtlose Integration und effiziente PDF-Erstellungsfunktionen.

Wo finde ich die offizielle Dokumentation für IronPDF?

Die offizielle Dokumentation für IronPDF ist auf der Iron Software-Website verfügbar und bietet umfassende technische Details und Anleitungen zur Nutzung der Bibliothek.

Welche Vorteile bietet die Verwendung von IronPDF für die PDF-Erstellung?

Die Vorteile der Verwendung von IronPDF sind Benutzerfreundlichkeit, robuste Funktionalität und die Möglichkeit, hochwertige PDFs programmgesteuert innerhalb von .NET Core-Anwendungen zu erstellen.

Kann IronPDF komplexe PDF-Erstellungsaufgaben bewältigen?

Ja, IronPDF ist in der Lage, komplexe PDF-Erstellungsaufgaben zu bewältigen, was es ideal für Anwendungen macht, die fortgeschrittene PDF-Bearbeitung und -Erstellung erfordern.

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