IronPDF Razor-Erweiterung

Chaknith Bin
Chaknith Bin
25. Januar 2023
Aktualisiert 20. Oktober 2024
Teilen Sie:
This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF ist eine PDF-Bibliothek für .NET und .NET Core. Es handelt sich hauptsächlich um eine kostenlose PDF-Bibliothek, da IronPDF eine kommerzielle C#-PDF-Bibliothek ist. Es ist für die Entwicklung kostenlos, muss aber für den kommerziellen Einsatz lizenziert werden. Bei diesem klareren Lizenzmodell müssen sich die Entwickler nicht mit den Besonderheiten der GNU / AGPL-Lizenzmodelle auseinandersetzen und können sich stattdessen auf ihre Projekte konzentrieren.

IronPDF ermöglicht .NET- und .NET Core-Entwicklern das einfache Generieren, Zusammenführen, Aufteilen, Bearbeiten und Extrahieren von PDF-Inhalten in C#, F# und VB.NET für .NET Core und .NET Framework sowie das Erstellen von PDFs aus HTML-, ASPX-, CSS-, JS- und Bilddateien.

IronPDF verfügt über umfassende Funktionen zur PDF-Bearbeitung und -Erzeugung über HTML to PDF. Wie funktioniert das? Für das Design und Layout der Dokumente können größtenteils vorhandene HTML- und HTML5-Inhalte verwendet werden.

Sie können das C# Razor-to-PDF-Beispielprojekt von der IronPDF Razor View to PDF Download herunterladen.

IronPDF-Funktionen für .NET & .NET Core-Anwendungen

Zu den fantastischen Funktionen der IronPDF PDF-Bibliothek gehören:

  • Die .NET PDF-Bibliothek kann PDF-Dokumente generieren aus HTML, Bildern und ASPX-Dateien.
  • Lesen von PDF-Text in .NET- und .NET Core-Anwendungen
  • Extrahieren von Daten und Bildern aus PDFs
  • Zusammenführung von PDF-Dokumenten
  • PDFs aufteilen
  • Manipulation von PDFs

IronPDF Vorteile

  • Die IronPDF PDF-Bibliothek ist einfach zu installieren
  • Die IronPDF for .NET-Bibliothek bietet schnelle und einfache Lizenzierungsoptionen
  • IronPDF stellt die meisten .NET PDF-Bibliotheken in den Schatten und übertrifft die meisten .NET Core PDF-Bibliotheken

IronPDF ist die PDF-Lösung, nach der Sie gesucht haben.


Installieren der IronPDF PDF-Bibliothek

Die Installation der IronPDF-Bibliothek für PDF in .NET oder .NET Core ist recht einfach. Sie können es auf folgende Weise installieren:

Verwenden Sie den NuGet-Paketmanager und geben Sie Folgendes in die Befehlszeile ein:

Install-Package IronPdf

Verwenden Sie den NuGet-Paketmanager in Visual Studio, indem Sie "NuGet-Pakete verwalten" aus dem Projektmenü auswählen und nach IronPDF suchen, wie unten gezeigt:

Abbildung 1 - IronPDF NuGet-Paket
**Abbildung 1** - *IronPDF NuGet Paket* Damit wird die PDF-Erweiterung installiert. Mit IronPDF können Sie ASP.NET MVC verwenden, um eine PDF-Datei zurückzugeben. Es folgen ein paar Code-Beispiele: Ein Beispiel für eine Methode, die von Ihrem Controller bedient werden könnte, ist unten dargestellt. ```cs public FileResult Generate_PDF_FromHTML_Or_MVC(long id) { using var objPDF = Renderer.RenderHtmlAsPdf(""); //Create a PDF Document var objLength = objPDF.BinaryData.Length; //return a PDF document from a view Response.AppendHeader("Content-Length", objLength.ToString()); Response.AppendHeader("Content-Disposition", "inline; filename=PDFDocument_" + id + ".pdf"); return File(objPDF.BinaryData, "application/pdf;"); } ``` Es folgt ein Beispiel für die Bereitstellung einer vorhandenen PDF-Datei in ASP.NET. ```cs Response.Clear(); Response.ContentType = "application/pdf"; Response.AddHeader("Content-Disposition", "attachment;filename=\"FileName.pdf\""); Response.BinaryWrite(System.IO.File.ReadAllBytes("PdfName.pdf")); Response.Flush(); Response.End(); ```
Lassen Sie uns ein kurzes Beispiel in ASP.NET mit MVC und .NET Core durchführen. Öffnen Sie Visual Studio und erstellen Sie eine neue ASP.NET Core-Webanwendung. ## 1. Erstellen Sie ein neues ASP.NET Core-Webprojekt in Visual Studio [//]: # 'Bildrahmen zur Vergrößerung des Abstands - Formatierung' ASP.NET Core-Projekt erstellen
## 2. MVC-Modell erstellen - Erstellen Sie einen neuen Ordner und nennen Sie ihn "Models" [//]: # 'Bildrahmen zur Vergrößerung des Abstands - Formatierung'
Ordner hinzufügen
- Klicken Sie mit der rechten Maustaste auf den Ordner Model und fügen Sie eine neue Klasse hinzu [//]: # 'Bildrahmen zur Vergrößerung des Abstands - Formatierung'
Klasse hinzufügen
- Ändern Sie den Klassennamen in "ExampleModel". Fügen Sie dem Modell Inhalte hinzu, zum Beispiel: ```cs namespace WebApplication4.Models { public class ExampleModel { public string Name { get; set; } public string Surname { get; set; } public int Age { get; set; } } } ```
## 3. MVC-Controller hinzufügen - Erstellen Sie einen neuen Ordner und nennen Sie ihn "Controllers" - Klicken Sie mit der rechten Maustaste auf den Ordner "Controllers" und fügen Sie einen neuen "MCV Controller - empty" hinzu [//]: # 'Bildrahmen zur Vergrößerung des Abstands - Formatierung'
Controller-Klasse hinzufügen
Fügen Sie dem Controller Inhalte hinzu: ```cs namespace WebApplication4.Models { public class HomeController : Controller { [HttpPost] public IActionResult ExampleView(ExampleModel model) { var html = this.RenderViewAsync("_Example", model); var ironPdfRender = new IronPdf.ChromePdfRenderer(); using var pdfDoc = ironPdfRender.RenderHtmlAsPdf(html.Result); return File(pdfDoc.Stream.ToArray(), "application/pdf"); } } } ```
## 4. Index.cshtml ändern Ändern Sie im Ordner Pages die Datei Index.cshtml wie folgt: ```html @page @model WebApplication4.Models.ExampleModel @{ ViewBag.Title = "Example Index View"; }

Index

@using (Html.BeginForm()) {
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
@Html.LabelFor(model => model.Surname, htmlAttributes: new { @class = "control-label col-md-2" })
@Html.EditorFor(model => model.Surname, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Surname, "", new { @class = "text-danger" })
@Html.LabelFor(model => model.Age, htmlAttributes: new { @class = "control-label col-md-2" })
@Html.EditorFor(model => model.Age, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Age, "", new { @class = "text-danger" })
}
```
## 5. Rasiermesser-Seite hinzufügen Fügen Sie im Ordner "Shared" von Pages eine Razor-Seite hinzu und nennen Sie sie "_Example.cshtml" [//]: # 'Bildrahmen zur Vergrößerung des Abstands - Formatierung'
Razor-Seite hinzufügen
Fügen Sie den folgenden Code zu _Example.cshtml hinzu: ```html @Html.Partial("../Index.cshtml") ```
## 6. Eine neue Klasse hinzufügen - Fügen Sie eine neue Klasse mit dem Namen "ControllerPDF" hinzu Diese Klasse nimmt den HTML-Code von _Example.cshtml mit dem Wrap von _Layout.cshtml und gibt ihn an HomeController.cs zurück - Fügen Sie den nachstehenden Code ein: ```cs namespace WebApplication4 { public static class ControllerPDF { public static async Task RenderViewAsync(this Controller controller, string viewName, TModel model, bool partial = false) { if (string.IsNullOrEmpty(viewName)) { viewName = controller.ControllerContext.ActionDescriptor.ActionName; } controller.ViewData.Model = model; using (var writer = new StringWriter()) { IViewEngine viewEngine = controller.HttpContext.RequestServices.GetService(typeof(ICompositeViewEngine)) as ICompositeViewEngine; ViewEngineResult viewResult = viewEngine.FindView(controller.ControllerContext, viewName, !partial); if (viewResult.Success == false) { return $"A view with the name {viewName} could not be found"; } ViewContext viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, writer, new HtmlHelperOptions()); await viewResult.View.RenderAsync(viewContext); return writer.GetStringBuilder().ToString(); } } } } ```
## 7. Ändern Sie Program.cs Fügen Sie den folgenden Code hinzu, um sicherzustellen, dass die Seite nach dem Drücken der Schaltfläche "Speichern" zur richtigen URL navigiert. ```cs app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); ```
## 8. Demonstration - In der Datei Index.cshtml wird die Methode ExampleView aktiviert, wenn die Schaltfläche "Speichern" mit asp-action="ExampleView" gedrückt wird. - Die Methode RenderViewAsync der Klasse ControllerPDF wird von ExampleView aufgerufen. Diese Methode gibt das generierte HTML von _Example.cshtml wrap mit _layout.cshtml zurück. - Erzeugen Sie ein PDF-Dokument, indem Sie die HTML-Rückgabe von RenderViewAsync an die Methode RenderHtmlAsPdf von IronPDF übergeben. [//]: # 'Bildrahmen zur Vergrößerung des Abstands - Formatierung' ASP.NET Core-Projekt erstellen
Chaknith Bin
Software-Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat tiefgehende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Erkenntnisse aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentation und einem insgesamt besseren Erlebnis bei.