Wie man Ansichten zu PDFs in ASP NET Core MVC umwandelt

How to Convert Views to PDFs in ASP.NET Core 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.

Schnellstart: Mühelos CSHTML zu PDF in ASP.NET Core konvertieren

Transformieren Sie Ihre ASP.NET Core MVC Ansichten mühelos in PDFs mit IronPDF. Mit nur einer einzigen Codezeile können Sie Ihre '.cshtml'-Dateien in hochwertige PDF-Dokumente rendern. Vereinfachen Sie Ihren Entwicklungsprozess, indem Sie diese Funktionalität direkt in Ihre MVC-Anwendung integrieren, was eine nahtlose PDF-Generierung aus dynamischen HTML-Ansichten ermöglicht. Folgen Sie der Anleitung, um Ihre Umgebung einzurichten und noch heute mit der Konvertierung zu beginnen.

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.

    // using IronPdf.Extensions.Mvc.Core
    new IronPdf.ChromePdfRenderer().RenderRazorViewToPdf(HttpContext, "Views/Home/Report.cshtml", model).SaveAs("report.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer

ASP.NET Core Web App MVC (Model-View-Controller) ist eine von Microsoft bereitgestellte Webanwendung zum Erstellen von Webanwendungen mit ASP.NET Core.

  • Modell: Repräsentiert Daten und Geschäftslogik, verwaltet Dateninteraktionen und kommuniziert mit Datenquellen.
  • Ansicht: Präsentiert die Benutzeroberfläche, konzentriert sich auf die Anzeige von Daten und rendert Informationen an den Benutzer.
  • Controller: Verarbeitet Benutzereingaben, reagiert auf Anfragen, kommuniziert mit dem Modell und koordiniert die Interaktionen zwischen Modell und Ansicht.

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

class="hsg-featured-snippet">

Minimaler Workflow (5 Schritte)

  1. Laden Sie die C#-Bibliothek zum Konvertieren von Ansichten in PDFs in ASP.NET Core MVC herunter
  2. Fügen Sie eine Modellklasse für die Daten hinzu
  3. Bearbeiten Sie die "HomeController.cs"-Datei und verwenden Sie die RenderRazorViewToPdf-Methode
  4. Erstellen Sie eine neue Ansicht und bearbeiten Sie die ".cshtml"-Datei, um das PDF zu rendern
  5. Laden Sie das Beispielprojekt für einen schnellen Start herunter

IronPDF Erweiterungspaket

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

Install-Package IronPdf.Extensions.Mvc.Core

class="products-download-section">
data-modal-id="trial-license-after-download">
class="product-image"> C# NuGet Bibliothek für PDF
class="product-info">

Installieren mit NuGet

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

Ansichten in PDFs rendern

Sie benötigen ein ASP.NET Core Web App (Model-View-Controller)-Projekt, um Ansichten in PDF-Dateien zu konvertieren.

Hinzufügen einer Modellklasse

  • Navigieren Sie zum Ordner "Models".
  • Erstellen Sie eine neue C#-Klassendatei namens "Person". Diese Klasse wird als Modell verwendet, um individuelle Daten darzustellen. Verwenden Sie den folgenden Codeausschnitt:
:path=/static-assets/pdf/content-code-examples/how-to/cshtml-to-pdf-mvc-core-model.cs
namespace ViewToPdfMVCCoreSample.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 ViewToPdfMVCCoreSample.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 Ordner "Controllers" und öffnen Sie die Datei "HomeController". Wir werden nur den HomeController ändern und die "Persons"-Aktion hinzufügen. Bitte beachten Sie den untenstehenden Code als Anleitung:

Der untenstehende Code instanziiert zunächst die ChromPdfRenderer-Klasse, übergibt einen IRazorViewRenderer, den Pfad zu unserer "Persons.cshtml" und die Liste, die die erforderlichen Daten enthält, an die RenderRazorViewToPdf-Methode. Benutzer können RenderingOptions verwenden, um auf eine Reihe von Funktionen zuzugreifen, wie zum Beispiel das Hinzufügen von benutzerdefiniertem Text, das Einschließen von HTML-Kopf- und Fußzeilen im resultierenden PDF, das Definieren benutzerdefinierter Ränder und das Anwenden von Seitenzahlen.

[{i:(The PDF document can be viewed in the browser using the following code: File(pdf.BinaryData, "application/pdf"). Das Herunterladen des PDFs nach der Ansicht im Browser führt jedoch zu einem beschädigten PDF-Dokument.)]

using IronPdf.Extensions.Mvc.Core;
using Microsoft.AspNetCore.Mvc;
using System.Diagnostics;
using ViewToPdfMVCCoreSample.Models;

namespace ViewToPdfMVCCoreSample.Controllers
{
    public class HomeController : Controller
    {
        private readonly ILogger<HomeController> _logger;
        private readonly IRazorViewRenderer _viewRenderService;
        private readonly IHttpContextAccessor _httpContextAccessor;

        public HomeController(ILogger<HomeController> logger, IRazorViewRenderer viewRenderService, IHttpContextAccessor httpContextAccessor)
        {
            _logger = logger;
            _viewRenderService = viewRenderService;
            _httpContextAccessor = httpContextAccessor;
        }

        public IActionResult Index()
        {
            return View();
        }

        public async Task<IActionResult> Persons()
        {
            // Example list of 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" }
            };

            // Check if the request method is POST
            if (_httpContextAccessor.HttpContext.Request.Method == HttpMethod.Post.Method)
            {
                // Create a new PDF renderer
                ChromePdfRenderer renderer = new ChromePdfRenderer();

                // Render View to PDF document
                PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons);

                Response.Headers.Add("Content-Disposition", "inline");

                // Output PDF document
                return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf");
            }

            return View(persons);
        }

        public IActionResult Privacy()
        {
            return View();
        }

        [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
        public IActionResult Error()
        {
            return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
        }
    }
}
using IronPdf.Extensions.Mvc.Core;
using Microsoft.AspNetCore.Mvc;
using System.Diagnostics;
using ViewToPdfMVCCoreSample.Models;

namespace ViewToPdfMVCCoreSample.Controllers
{
    public class HomeController : Controller
    {
        private readonly ILogger<HomeController> _logger;
        private readonly IRazorViewRenderer _viewRenderService;
        private readonly IHttpContextAccessor _httpContextAccessor;

        public HomeController(ILogger<HomeController> logger, IRazorViewRenderer viewRenderService, IHttpContextAccessor httpContextAccessor)
        {
            _logger = logger;
            _viewRenderService = viewRenderService;
            _httpContextAccessor = httpContextAccessor;
        }

        public IActionResult Index()
        {
            return View();
        }

        public async Task<IActionResult> Persons()
        {
            // Example list of 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" }
            };

            // Check if the request method is POST
            if (_httpContextAccessor.HttpContext.Request.Method == HttpMethod.Post.Method)
            {
                // Create a new PDF renderer
                ChromePdfRenderer renderer = new ChromePdfRenderer();

                // Render View to PDF document
                PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons);

                Response.Headers.Add("Content-Disposition", "inline");

                // Output PDF document
                return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf");
            }

            return View(persons);
        }

        public IActionResult Privacy()
        {
            return View();
        }

        [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
        public IActionResult Error()
        {
            return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
        }
    }
}
Imports IronPdf.Extensions.Mvc.Core
Imports Microsoft.AspNetCore.Mvc
Imports System.Diagnostics
Imports ViewToPdfMVCCoreSample.Models

Namespace ViewToPdfMVCCoreSample.Controllers
	Public Class HomeController
		Inherits Controller

		Private ReadOnly _logger As ILogger(Of HomeController)
		Private ReadOnly _viewRenderService As IRazorViewRenderer
		Private ReadOnly _httpContextAccessor As IHttpContextAccessor

		Public Sub New(ByVal logger As ILogger(Of HomeController), ByVal viewRenderService As IRazorViewRenderer, ByVal httpContextAccessor As IHttpContextAccessor)
			_logger = logger
			_viewRenderService = viewRenderService
			_httpContextAccessor = httpContextAccessor
		End Sub

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

		Public Async Function Persons() As Task(Of IActionResult)
			' Example list of persons
'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"
				}
			}

			' Check if the request method is POST
			If _httpContextAccessor.HttpContext.Request.Method = HttpMethod.Post.Method Then
				' Create a new PDF renderer
				Dim renderer As New ChromePdfRenderer()

				' Render View to PDF document
				Dim pdf As PdfDocument = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons_Conflict)

				Response.Headers.Add("Content-Disposition", "inline")

				' Output PDF document
				Return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf")
			End If

			Return View(persons_Conflict)
		End Function

		Public Function Privacy() As IActionResult
			Return View()
		End Function

		<ResponseCache(Duration := 0, Location := ResponseCacheLocation.None, NoStore := True)>
		Public Function [Error]() As IActionResult
			Return View(New ErrorViewModel With {.RequestId = If(Activity.Current?.Id, HttpContext.TraceIdentifier)})
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel

Nach der Verwendung der RenderRazorViewToPdf-Methode erhalten Sie ein PdfDocument-Objekt, das für weitere Verbesserungen und Anpassungen offen ist. Sie haben die Flexibilität, das PDF in PDF/A- oder PDF/UA-Formate zu konvertieren, Ihre digitale Signatur zum generierten PDF hinzuzufügen oder PDF-Dokumente nach Bedarf zu verbinden und zu teilen. Zusätzlich ermöglicht es die Bibliothek, Seiten zu drehen, Anmerkungen oder Lesezeichen einzufügen und einzigartige Wasserzeichen auf Ihre PDF-Dateien zu drucken.

Hinzufügen einer Ansicht

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

Rechtsklicken auf Person-Aktion

  • Wählen Sie "Razor View" für das neue Gerüsteelement.

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

  • Navigieren Sie im gleichen "Ansichten"-Ordner zum "Shared"-Ordner -> _Layout.cshtml. Fügen Sie das "Person"-Navigationselement nach "Home" ein.

Stellen Sie sicher, dass der Wert für das asp-action-Attribut genau mit unserem Dateinamen übereinstimmt, in diesem Fall "Persons".

<header>
    <nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
        <div class="container-fluid">
            <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">ViewToPdfMVCCoreSample</a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target=".navbar-collapse" aria-controls="navbarSupportedContent"
                    aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
                <ul class="navbar-nav flex-grow-1">
                    <li class="nav-item">
                        <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Persons">Person</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
                    </li>
                </ul>
            </div>
        </div>
    </nav>
</header>
<header>
    <nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
        <div class="container-fluid">
            <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">ViewToPdfMVCCoreSample</a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target=".navbar-collapse" aria-controls="navbarSupportedContent"
                    aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
                <ul class="navbar-nav flex-grow-1">
                    <li class="nav-item">
                        <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Persons">Person</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
                    </li>
                </ul>
            </div>
        </div>
    </nav>
</header>
HTML

Programm.cs-Datei bearbeiten

Wir werden das IHttpContextAccessor und das IRazorViewRenderer-Interface zur Abhängigkeitsinjektion (DI)-Container hinzufügen. Bitte überprüfen Sie den unten stehenden Code als Referenz.

using IronPdf.Extensions.Mvc.Core;
using Microsoft.AspNetCore.Mvc.ViewFeatures;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddControllersWithViews();

builder.Services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
builder.Services.AddSingleton<ITempDataProvider, CookieTempDataProvider>();

// Register IRazorViewRenderer here
builder.Services.AddSingleton<IRazorViewRenderer, RazorViewRenderer>();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Home/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

app.Run();
using IronPdf.Extensions.Mvc.Core;
using Microsoft.AspNetCore.Mvc.ViewFeatures;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddControllersWithViews();

builder.Services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
builder.Services.AddSingleton<ITempDataProvider, CookieTempDataProvider>();

// Register IRazorViewRenderer here
builder.Services.AddSingleton<IRazorViewRenderer, RazorViewRenderer>();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Home/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

app.Run();
Imports IronPdf.Extensions.Mvc.Core
Imports Microsoft.AspNetCore.Mvc.ViewFeatures

Private builder = WebApplication.CreateBuilder(args)

' Add services to the container.
builder.Services.AddControllersWithViews()

builder.Services.AddSingleton(Of IHttpContextAccessor, HttpContextAccessor)()
builder.Services.AddSingleton(Of ITempDataProvider, CookieTempDataProvider)()

' Register IRazorViewRenderer here
builder.Services.AddSingleton(Of IRazorViewRenderer, RazorViewRenderer)()

Dim app = builder.Build()

' Configure the HTTP request pipeline.
If Not app.Environment.IsDevelopment() Then
	app.UseExceptionHandler("/Home/Error")
	' The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
	app.UseHsts()
End If

app.UseHttpsRedirection()
app.UseStaticFiles()

app.UseRouting()

app.UseAuthorization()

app.MapControllerRoute(name:= "default", pattern:= "{controller=Home}/{action=Index}/{id?}")

app.Run()
$vbLabelText   $csharpLabel

Das Projekt ausführen

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

ASP.NET Core MVC-Projekt ausführen

ASP.NET Core MVC-Projekt herunterladen

Sie können den vollständigen Code für diesen Leitfaden herunterladen. Es kommt als gezippte Datei, die Sie in Visual Studio als ASP.NET Core Web App (Model-View-Controller)-Projekt öffnen können.

Laden Sie das ASP.NET Core MVC Beispielprojekt herunter

Bereit zu sehen, was Sie sonst noch tun können? Schauen Sie sich unsere Tutorial-Seite hier an: PDFs konvertieren

Häufig gestellte Fragen

Wie kann ich CSHTML in PDF in ASP.NET Core MVC konvertieren?

Sie können die Methode `RenderRazorViewToPdf` von IronPDF verwenden, um CSHTML-Dateien in PDFs innerhalb eines ASP.NET Core MVC-Projekts zu konvertieren.

Welche Schritte sind erforderlich, um die PDF-Erstellung in einem ASP.NET Core MVC-Projekt einzurichten?

Um die PDF-Erstellung einzurichten, laden Sie die IronPDF-Bibliothek über NuGet herunter, erstellen Sie eine Modellklasse, bearbeiten Sie den HomeController, um die Methode `RenderRazorViewToPdf` zu verwenden, und richten Sie die Abhängigkeitsinjektion für `IHttpContextAccessor` und `IRazorViewRenderer` in der Datei 'Program.cs' ein.

Warum ist die Abhängigkeitsinjektion für die PDF-Umwandlung in ASP.NET Core notwendig?

Die Abhängigkeitsinjektion für `IHttpContextAccessor` und `IRazorViewRenderer` ist notwendig, um Ansichten ordnungsgemäß als PDFs darzustellen und sicherzustellen, dass der Razor View-Rendering-Kontext korrekt eingerichtet ist.

Kann ich das PDF-Ergebnis beim Konvertieren von Ansichten in ASP.NET Core MVC anpassen?

Ja, mit IronPDF können Sie das PDF-Ergebnis anpassen, indem Sie Kopf- und Fußzeilen, Ränder und andere Einstellungen innerhalb der Methode `RenderRazorViewToPdf` anpassen.

Welche Rolle spielt die Methode `RenderRazorViewToPdf` bei der PDF-Umwandlung?

Die Methode `RenderRazorViewToPdf` ist wesentlich für die Umwandlung von Razor Views in PDF-Dokumente und bietet Optionen zur Anpassung des Aussehens und der Inhalte des PDFs.

Wie kann ich sicherstellen, dass mein ASP.NET Core MVC-Projekt die PDF-Umwandlung unterstützt?

Stellen Sie sicher, dass Ihr Projekt die PDF-Umwandlung unterstützt, indem Sie das Paket IronPdf.Extensions.Mvc.Core installieren und die erforderlichen Dienste und Modelle innerhalb Ihres Projekts konfigurieren.

Ist es möglich, interaktive Elemente zu PDFs hinzuzufügen, die aus Ansichten generiert werden?

Ja, nach der Erstellung eines PDFs mit IronPDF können Sie interaktive Elemente wie Formulare, Links und Lesezeichen hinzufügen, um die Benutzerinteraktion im Dokument zu verbessern.

Wo kann ich ein Beispielprojekt zum Umwandeln von Ansichten in PDFs finden?

Sie können ein im Leitfaden bereitgestelltes Beispielprojekt herunterladen, das die vollständige Einrichtung zum Umwandeln von Ansichten in PDFs in einer ASP.NET Core-Webanwendung demonstriert.

Wie installiere ich IronPDF in meinem ASP.NET Core MVC-Projekt?

Installieren Sie IronPDF, indem Sie den NuGet-Paketmanager mit dem Befehl: Install-Package IronPdf.Extensions.Mvc.Core verwenden.

Ist IronPDF mit .NET 10 kompatibel, um CSHTML-Ansichten in PDF zu konvertieren?

Ja – IronPDF ist vollständig kompatibel mit .NET 10 und unterstützt das Rendern von CSHTML-Ansichten in PDF mithilfe seiner bestehenden APIs wie `RenderRazorViewToPdf`, ohne dass eine zusätzliche Konfiguration erforderlich ist.

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.
Rezensiert von
Jeff Fritz
Jeffrey T. Fritz
Principal Program Manager - .NET Community Team
Jeff ist außerdem Principal Program Manager für das .NET- und Visual Studio-Team. Er ist der ausführende Produzent der .NET Conf Virtual Conference Series und moderiert ‚Fritz and Friends‘, einen Livestream für Entwickler, der zweimal wöchentlich ausgestrahlt wird. Dort spricht er über Technik und schreibt gemeinsam mit den Zuschauern Code. Jeff schreibt Workshops, Präsentationen und plant Inhalte für die größten Microsoft-Entwicklerveranstaltungen, einschließlich Microsoft Build, Microsoft Ignite, .NET Conf und dem Microsoft MVP Summit.
Bereit anzufangen?
Nuget Downloads 16,154,058 | Version: 2025.11 gerade veröffentlicht