Wie man Sicht in PDF umwandelt in ASP.NET Core C#

How to Convert Views to PDFs in ASP.NET MVC

This article was translated from English: Does it need improvement?
Translated
View the article in English

Eine Ansicht ist eine Komponente im ASP.NET Framework, die zum Generieren von HTML-Markup in Webanwendungen verwendet wird. Es ist ein Teil des Model-View-Controller (MVC) Musters, das häufig in ASP.NET MVC und ASP.NET Core MVC Anwendungen verwendet wird. Ansichten sind dafür verantwortlich, Daten an den Benutzer zu präsentieren, indem sie HTML-Inhalte dynamisch rendern.

ASP.NET Webanwendung (.NET Framework) MVC ist ein von Microsoft bereitgestelltes Webanwendungs-Framework. Es folgt einem strukturierten Architektur-Muster, bekannt als Model-View-Controller (MVC), um die Entwicklung von Webanwendungen zu organisieren und zu straffen.

  • Modell: Verwalten von Daten, Geschäftslogik und Datenintegrität.
  • Ansicht: Präsentiert die Benutzeroberfläche und rendert Informationen.
  • Controller: Handhabt Benutzereingaben, verarbeitet Anfragen und koordiniert die Interaktionen zwischen Modell und Ansicht.

IronPDF vereinfacht den Prozess der Erstellung von PDF-Dateien aus Ansichten innerhalb eines ASP.NET MVC-Projekts. Dies macht die PDF-Erstellung in ASP.NET MVC einfach und direkt.

als-Überschrift:2(Schnellstart: ASP.NET MVC Ansicht mühelos in PDF konvertieren)

Lernen Sie, wie Sie Ihre ASP.NET MVC Ansichten schnell in PDF-Dokumente umwandeln, indem Sie IronPDF verwenden. Mit nur wenigen Zeilen Code können Sie Ihre CSHTML-Ansichten in hochqualitative PDFs rendern und die Funktionalität Ihrer Anwendung verbessern. IronPDF vereinfacht den Prozess und macht ihn für Entwickler aller Niveaus zugänglich. Beginnen Sie mit der Integration von IronPDF in Ihre ASP.NET Core-Projekte, um problemlos PDFs aus Ihren Ansichten zu erstellen.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    // Install-Package IronPdf.Extensions.Razor
    var pdf = new IronPdf.ChromePdfRenderer.RenderRazorToPdf(this.ControllerContext);
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Minimaler Workflow (5 Schritte)

  1. Laden Sie die C#-Bibliothek zum Konvertieren von Ansichten in PDFs im ASP.NET MVC herunter
  2. Fügen Sie eine Modellklasse für die Daten hinzu
  3. Erstellen Sie eine "Person"-Aktion im Controller und verwenden Sie die RenderView-Methode
  4. Fügen Sie eine Ansicht mit dem MVC 5 View Scaffolded hinzu
  5. Laden Sie das Beispielprojekt für einen schnellen Start herunter

IronPDF Erweiterungspaket

Das IronPdf.Extensions.Mvc.Framework Paket ist eine Erweiterung des Hauptpakets IronPdf. Sowohl das IronPdf.Extensions.Mvc.Framework als auch das IronPdf-Paket sind erforderlich, um Ansichten in PDF-Dokumente in einem ASP.NET MVC zu rendern.

Install-Package IronPdf.Extensions.Mvc.Framework

class="products-download-section">
data-modal-id="trial-license-after-download">
class="product-image">C# NuGet Library for PDF
class="product-info">

Installieren mit NuGet

class="copy-nuget-row">
Install-Package IronPdf.Extensions.Mvc.Framework
class="copy-button">
class="nuget-link">nuget.org/packages/IronPdf.Extensions.Mvc.Framework/

Ansichten in PDFs rendern

Um Ansichten in PDF-Dateien umzuwandeln, benötigen Sie ein ASP.NET Webanwendungsprojekt (.NET Framework) MVC.

Hinzufügen einer Modellklasse

  • Navigieren Sie zum "Models"-Ordner
  • Erstellen Sie eine neue C#-Klassendatei namens "Person." Diese Klasse dient als Modell zur Darstellung individueller Daten. Verwenden Sie den folgenden Platzhalter als Orientierungshilfe:
:path=/static-assets/pdf/content-code-examples/how-to/cshtml-to-pdf-mvc-framework-model.cs
namespace ViewToPdfMVCSample.Models
{
    public class Person
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
    }
}
Namespace ViewToPdfMVCSample.Models
	Public Class Person
		Public Property Id() As Integer
		Public Property Name() As String
		Public Property Title() As String
		Public Property Description() As String
	End Class
End Namespace
$vbLabelText   $csharpLabel

Controller bearbeiten

Navigieren Sie zum "Controllers"-Ordner und öffnen Sie die "HomeController"-Datei. Wir werden die "Persons"-Aktion hinzufügen. Bitte beachten Sie den untenstehenden Code als Anleitung:

Im bereitgestellten Code wird zuerst die ChromePdfRenderer-Klasse erstellt. Um die RenderView-Methode zu verwenden, müssen Sie ihr einen HttpContext bereitstellen, den Pfad zur "Persons.cshtml"-Datei angeben und eine Liste mit den erforderlichen Daten bereitstellen. When rendering the View, users have the option to utilize RenderingOptions to customize margins, add custom text and HTML headers and footers, and apply page numbers to the resulting PDF document.

Hinweis:The PDF document can be downloaded to the machine using the following code: File(pdf.BinaryData, "application/pdf", "viewToPdfMVC.pdf").

using IronPdf;
using System.Collections.Generic;
using System.Web.Mvc;
using ViewToPdfMVCSample.Models;

namespace ViewToPdfMVCSample.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

        // GET: Person
        public ActionResult Persons()
        {
            // Create a list of Person objects
            var persons = new List<Person>
            {
                new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
                new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
                new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
            };

            if (HttpContext.Request.HttpMethod == "POST")
            {
                // Define the path to the View file
                var viewPath = "~/Views/Home/Persons.cshtml";

                // Instantiate the ChromePdfRenderer
                ChromePdfRenderer renderer = new ChromePdfRenderer();

                // Render the view to a PDF document
                PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons);

                // Set headers to view the PDF in-browser
                Response.Headers.Add("Content-Disposition", "inline");

                // Return the generated PDF file
                return File(pdf.BinaryData, "application/pdf");
            }
            return View(persons);
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";
            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";
            return View();
        }
    }
}
using IronPdf;
using System.Collections.Generic;
using System.Web.Mvc;
using ViewToPdfMVCSample.Models;

namespace ViewToPdfMVCSample.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

        // GET: Person
        public ActionResult Persons()
        {
            // Create a list of Person objects
            var persons = new List<Person>
            {
                new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
                new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
                new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
            };

            if (HttpContext.Request.HttpMethod == "POST")
            {
                // Define the path to the View file
                var viewPath = "~/Views/Home/Persons.cshtml";

                // Instantiate the ChromePdfRenderer
                ChromePdfRenderer renderer = new ChromePdfRenderer();

                // Render the view to a PDF document
                PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons);

                // Set headers to view the PDF in-browser
                Response.Headers.Add("Content-Disposition", "inline");

                // Return the generated PDF file
                return File(pdf.BinaryData, "application/pdf");
            }
            return View(persons);
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";
            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";
            return View();
        }
    }
}
Imports IronPdf
Imports System.Collections.Generic
Imports System.Web.Mvc
Imports ViewToPdfMVCSample.Models

Namespace ViewToPdfMVCSample.Controllers
	Public Class HomeController
		Inherits Controller

		Public Function Index() As ActionResult
			Return View()
		End Function

		' GET: Person
		Public Function Persons() As ActionResult
			' Create a list of Person objects
'INSTANT VB NOTE: The local variable persons was renamed since Visual Basic will not allow local variables with the same name as their enclosing function or property:
			Dim persons_Conflict = New List(Of Person) From {
				New Person With {
					.Name = "Alice",
					.Title = "Mrs.",
					.Description = "Software Engineer"
				},
				New Person With {
					.Name = "Bob",
					.Title = "Mr.",
					.Description = "Software Engineer"
				},
				New Person With {
					.Name = "Charlie",
					.Title = "Mr.",
					.Description = "Software Engineer"
				}
			}

			If HttpContext.Request.HttpMethod = "POST" Then
				' Define the path to the View file
				Dim viewPath = "~/Views/Home/Persons.cshtml"

				' Instantiate the ChromePdfRenderer
				Dim renderer As New ChromePdfRenderer()

				' Render the view to a PDF document
				Dim pdf As PdfDocument = renderer.RenderView(Me.HttpContext, viewPath, persons_Conflict)

				' Set headers to view the PDF in-browser
				Response.Headers.Add("Content-Disposition", "inline")

				' Return the generated PDF file
				Return File(pdf.BinaryData, "application/pdf")
			End If
			Return View(persons_Conflict)
		End Function

		Public Function About() As ActionResult
			ViewBag.Message = "Your application description page."
			Return View()
		End Function

		Public Function Contact() As ActionResult
			ViewBag.Message = "Your contact page."
			Return View()
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel

Sobald Sie das PdfDocument-Objekt durch die RenderView-Methode erhalten, können Sie verschiedene Verbesserungen und Anpassungen daran vornehmen. You can convert the PDF to PDFA or PDFUA formats, sign digital signature to the created PDF, or merge and split PDF documents as required. Moreover, the library enables you to rotate pages, insert annotations or bookmarks, and apply distinct watermarks to your PDF files.

Hinzufügen einer Ansicht

  • Klicken Sie mit der rechten Maustaste auf die neu hinzugefügte Person-Aktion und wählen Sie "Ansicht hinzufügen".

Rechtsklick auf Personen-Aktion

  • Wählen Sie "MVC 5 Ansicht" für das neue Scaffolded-Element.

Gerüst auswählen

  • Wählen Sie die "List"-Vorlage und die "Person"-Modellklasse.

Ansicht hinzufügen

Dies erstellt eine .cshtml-Datei namens "Persons".

  • Navigieren Sie zum Ordner "Ansichten" -> "Home"-Ordner -> "Persons.cshtml"-Datei.

Um eine Schaltfläche hinzuzufügen, die die "Persons"-Aktion aufruft, verwenden Sie den untenstehenden Code:

@using (Html.BeginForm("Persons", "Home", FormMethod.Post))
{
    <input type="submit" value="Print Person" />
}
@using (Html.BeginForm("Persons", "Home", FormMethod.Post))
{
    <input type="submit" value="Print Person" />
}
HTML

Hinzufügen eines Abschnitts zur oberen Navigationsleiste

  • Im "Views"-Ordner navigieren Sie zum "Shared"-Ordner -> "_Layout.cshtml"-Datei. Platzieren Sie das "Person"-Navigationselement nach "Home".

Stellen Sie sicher, dass die Werte für die ActionLink-Methode genau mit unserem Dateinamen übereinstimmen, in diesem Fall "Persons".

<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-dark bg-dark">
    <div class="container">
        @Html.ActionLink("Application name", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
        <button type="button" class="navbar-toggler" data-bs-toggle="collapse" data-bs-target=".navbar-collapse" title="Toggle navigation" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse d-sm-inline-flex justify-content-between">
            <ul class="navbar-nav flex-grow-1">
                <li>@Html.ActionLink("Home", "Index", "Home", new { area = "" }, new { @class = "nav-link" })</li>
                <li>@Html.ActionLink("Persons", "Persons", "Home", new { area = "" }, new { @class = "nav-link" })</li>
                <li>@Html.ActionLink("About", "About", "Home", new { area = "" }, new { @class = "nav-link" })</li>
                <li>@Html.ActionLink("Contact", "Contact", "Home", new { area = "" }, new { @class = "nav-link" })</li>
            </ul>
        </div>
    </div>
</nav>
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-dark bg-dark">
    <div class="container">
        @Html.ActionLink("Application name", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
        <button type="button" class="navbar-toggler" data-bs-toggle="collapse" data-bs-target=".navbar-collapse" title="Toggle navigation" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse d-sm-inline-flex justify-content-between">
            <ul class="navbar-nav flex-grow-1">
                <li>@Html.ActionLink("Home", "Index", "Home", new { area = "" }, new { @class = "nav-link" })</li>
                <li>@Html.ActionLink("Persons", "Persons", "Home", new { area = "" }, new { @class = "nav-link" })</li>
                <li>@Html.ActionLink("About", "About", "Home", new { area = "" }, new { @class = "nav-link" })</li>
                <li>@Html.ActionLink("Contact", "Contact", "Home", new { area = "" }, new { @class = "nav-link" })</li>
            </ul>
        </div>
    </div>
</nav>
HTML

Das Projekt ausführen

Dies zeigt Ihnen, wie Sie das Projekt ausführen und ein PDF-Dokument erstellen.

ASP.NET MVC-Projekt ausführen

Ausgangs-PDF

ASP.NET MVC-Projekt herunterladen

Sie können den vollständigen Quellcode für diesen Leitfaden herunterladen. Es kommt als gezippte Datei, die Sie in Visual Studio als ASP.NET Webanwendung (.NET Framework) MVC-Projekt öffnen können.

Laden Sie das MVC-Beispielprojekt für die PDF-Konvertierung herunter

Häufig gestellte Fragen

Wie kann ich Sichten in PDFs in ASP.NET Core MVC umwandeln?

Sie können Sichten in PDFs in ASP.NET Core MVC mit der IronPDF-Bibliothek umwandeln. Installieren Sie das IronPdf.Extensions.Mvc.Framework-Paket über NuGet und verwenden Sie die ChromePdfRenderer-Klasse, um Ansichten in PDF-Dokumente zu rendern.

Was ist notwendig, um Sichten in PDF-Dokumente in ASP.NET MVC zu rendern?

Um Sichten in PDF-Dokumente in ASP.NET MVC zu rendern, benötigen Sie die IronPDF-Bibliothek und die ChromePdfRenderer-Klasse, die einen HttpContext, den Ansichtspfad und eine Datenliste benötigt, um das PDF zu generieren.

Wie kann ich die PDF-Ausgabe mit IronPDF in einer ASP.NET-Anwendung anpassen?

IronPDF ermöglicht die Anpassung der PDF-Ausgabe mit RenderingOptions. Sie können Ränder anpassen, benutzerdefinierte Kopf- und Fußzeilen hinzufügen und Seitennummern einfügen, um das PDF-Dokument Ihren Bedürfnissen anzupassen.

Welche Schritte sind beim Einrichten einer Modellklasse in ASP.NET MVC für die PDF-Erstellung beteiligt?

Um eine Modellklasse in ASP.NET MVC einzurichten, navigieren Sie zum 'Models'-Ordner, erstellen eine neue C#-Klassendatei und definieren die Klasse mit Eigenschaften, die die Datenstruktur darstellen, die Sie für die PDF-Erstellung benötigen.

Wie integriere ich einen PDF-Erstellungs-Button in eine Ansicht in ASP.NET MVC?

Um einen PDF-Erstellungs-Button in eine Ansicht in ASP.NET MVC zu integrieren, können Sie ein Button-Element im HTML-Markup Ihrer Ansicht hinzufügen und es mit einer Aktion in Ihrem Controller verknüpfen, die IronPDF verwendet, um die Ansicht als PDF zu rendern.

Was ist der Prozess zum Hinzufügen einer Ansicht in ASP.NET MVC?

Um eine Ansicht in ASP.NET MVC hinzuzufügen, klicken Sie mit der rechten Maustaste auf die gewünschte Aktion im Controller, wählen 'Add View', wählen 'MVC 5 View' als Vorlagelement und wählen die entsprechende Vorlage und Modellklasse.

Wo finde ich ein Beispielprojekt für die Sichten-zu-PDF-Umwandlung in ASP.NET MVC?

Sie können ein vollständiges MVC-Beispielprojekt für die PDF-Umwandlung von der IronPDF-Website herunterladen, das eine gezippte Datei zum Öffnen in Visual Studio zur praktischen Umsetzung enthält.

Wie installiere ich IronPDF zur Verwendung in einem ASP.NET MVC-Projekt?

Installieren Sie IronPDF in einem ASP.NET MVC-Projekt, indem Sie den NuGet-Paketmanager mit dem Befehl verwenden: Install-Package IronPdf.Extensions.Mvc.Framework.

Was sind einige häufige Schritte zur Fehlerbehebung, wenn die PDF-Erstellung in ASP.NET MVC fehlschlägt?

Wenn die PDF-Erstellung in ASP.NET MVC fehlschlägt, stellen Sie sicher, dass das IronPDF-Paket korrekt installiert ist, überprüfen die Pfade und den Kontext, die an ChromePdfRenderer übergeben werden, und vergewissern Sie sich, dass die Ansicht und die Daten korrekt gerendert werden.

Ist IronPDF mit .NET 10 kompatibel und welche Vorteile bietet ein Upgrade?

Ja – IronPDF ist vollständig kompatibel mit .NET 10. Das Upgrade bringt Laufzeitverbesserungen wie reduzierte Heap-Allokationen, bessere Speichernutzung, verbesserte Leistung beim HTML-zu-PDF-Rendering und Zugriff auf neue Sprachfunktionen und Framework-Erweiterungen.

Chaknith Bin
Software Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat umfassende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Einblicke aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentationen und einem insgesamt besseren Erlebnis bei.
Bereit anzufangen?
Nuget Downloads 16,154,058 | Version: 2025.11 gerade veröffentlicht