Konvertieren von Ansichten in PDFs in ASP.NET MVC
Eine Ansicht ist eine Komponente des ASP.NET-Frameworks, die zur Erzeugung von HTML-Markup in Webanwendungen verwendet wird. Es ist Teil des Model-View-Controller (MVC) Musters, das häufig in ASP.NET MVC und ASP.NET Core MVC Anwendungen verwendet wird. Ansichten sind für die Darstellung von Daten für den Benutzer verantwortlich, indem sie HTML-Inhalte dynamisch wiedergeben.
ASP.NET-Webanwendung (.NET Framework) MVC ist ein von Microsoft bereitgestelltes Webanwendungs-Framework. Es folgt einem strukturierten Architekturmodell, bekannt als Model-View-Controller (MVC), um die Entwicklung von Webanwendungen zu organisieren und zu optimieren.
- Modell: Verwaltet Daten, Geschäftslogik und Datenintegrität.
- Ansicht: Zeigt die Benutzeroberfläche an und stellt Informationen dar.
-
Controller: Bearbeitet 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.
Konvertieren von Ansichten in PDFs in ASP.NET MVC
- Laden Sie die C#-Bibliothek zum Konvertieren von Ansichten in PDFs in ASP.NET MVC herunter
- Fügen Sie eine Modellklasse für die Daten hinzu
- Erstellen Sie eine "Person"-Aktion im Controller und verwenden Sie die
RenderView
-Methode - Hinzufügen einer Ansicht mit der MVC 5 View Scaffolded
- Laden Sie das Beispielprojekt für einen schnellen Einstieg 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.
PM > Install-Package IronPdf.Extensions.Mvc.Framework
Mit NuGet installieren
Install-Package IronPDF.Extensions.Mvc.Framework
Ansichten in PDFs rendern
Um Ansichten in PDF-Dateien zu konvertieren, benötigen Sie ein ASP.NET-Webanwendungsprojekt (.NET Framework) MVC.
Hinzufügen einer Modellklasse
- Navigieren Sie zum Ordner "Models"
- Erstellen Sie eine neue C#-Klassendatei mit dem Namen "Person" Diese Klasse wird als Modell für die Darstellung individueller Daten dienen. Verwenden Sie den folgenden Codeschnipsel:
: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; }
}
}
Bearbeiten Sie den Controller
Navigieren Sie zum Ordner "Controllers" und öffnen Sie die Datei "HomeController". Wir werden die Aktion "Personen" hinzufügen. Bitte beachten Sie den nachstehenden Code als Orientierungshilfe:
In dem bereitgestellten Code wird zuerst die ChromePdfRenderer-Klasse erstellt. Um die RenderView
-Methode zu verwenden, müssen Sie ihr einen HttpContext bereitstellen, den Pfad zur Datei "Persons.cshtml" angeben und eine Liste mit den notwendigen Daten übergeben. Beim Rendern der Ansicht haben Benutzer die Möglichkeit, RenderingOptions zu verwenden, um Ränder anzupassen, benutzerdefinierte Text- und HTML-Kopf- und Fußzeilen hinzuzufügen und Seitenzahlen auf das resultierende PDF-Dokument anzuwenden.
Bitte beachten Sie
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()
{
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")
{
// Provide the path to your View file
var viewPath = "~/Views/Home/Persons.cshtml";
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render View to PDF document
PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons);
Response.Headers.Add("Content-Disposition", "inline");
// View the PDF
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()
{
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")
{
// Provide the path to your View file
var viewPath = "~/Views/Home/Persons.cshtml";
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render View to PDF document
PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons);
Response.Headers.Add("Content-Disposition", "inline");
// View the PDF
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();
}
}
}
Sobald Sie das PdfDocument-Objekt über die RenderView
-Methode erhalten, können Sie verschiedene Verbesserungen und Anpassungen daran vornehmen. Sie können das PDF in PDFA- oder PDFUA-Formate konvertieren, digitale Signaturen zu dem erstellten PDF hinzufügen oder PDF-Dokumente nach Bedarf zusammenführen und teilen. Darüber hinaus ermöglicht die Bibliothek das Drehen von Seiten, das Einfügen von Anmerkungen oder Lesezeichen und das Anwenden unterschiedlicher Wasserzeichen auf Ihre PDF-Dateien.
Eine Ansicht hinzufügen
-
Klicken Sie mit der rechten Maustaste auf die neu hinzugefügte Aktion Person und wählen Sie "Ansicht hinzufügen"
-
Wählen Sie "MVC 5 View" für das neue Scaffolded Item.
-
Wählen Sie die Vorlage "Liste" und die Modellklasse "Person".
Dadurch wird eine .cshtml-Datei mit dem Namen "Personen" erstellt
-
Navigieren Sie zum Ordner "Views" -> Ordner "Home" -> Datei "Persons.cshtml".
Um eine Schaltfläche hinzuzufügen, die die Aktion "Personen" aufruft, verwenden Sie den folgenden 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" />
}
Einen Abschnitt zur oberen Navigationsleiste hinzufügen
-
Navigieren Sie im Ordner "Views" zum Ordner "Shared" -> Datei "_Layout.cshtml". Platzieren Sie das Navigationselement "Person" nach "Home"
Stellen Sie sicher, dass die Werte für die ActionLink-Methode genau mit unserem Dateinamen übereinstimmen, der in diesem Fall "Personen" lautet
<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>
Das Projekt ausführen
Hier erfahren Sie, wie Sie das Projekt ausführen und ein PDF-Dokument erstellen.

Ausgabe PDF
ASP.NET MVC-Projekt herunterladen
Sie können den vollständigen Code für diesen Leitfaden herunterladen. Er wird als ZIP-Datei geliefert, 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