ASP.NET MVC PDF aus der Ansicht generieren (Codebeispiel-Tutorial)

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

Es ist möglich, eine vorhandene HTML-Datei oder einen String, ein vorhandenes PDF-Dokument sowie eine PDF-Datei in ASP.NET MVC zu bedienen. Im folgenden Tutorial zeigen wir Ihnen, wie Sie die MVC-Ansicht in Ihrem C#-Projekt ganz einfach in PDF konvertieren können.


Schritt 1

1. IronPDF installieren

Um existierende PDF-Dateien, HTML-Dateien oder Strings sowie ein PDF in ASP.NET MVC zu bedienen, können wir die C# PDF Library von IronPDF verwenden. Laden Sie es kostenlos für die Entwicklung herunter und beginnen Sie mit dem nachstehenden Lernprogramm. Zugang überIronPDF DLL ZIP-Datei oder über dieIronPDF NuGet-Paket.

Install-Package IronPdf

Anleitung zum Tutorial

2. PDF in ASP.NET MVC bereitstellen

Die Bereitstellung eines PDF-Dokuments in ASP.NET MVC erfordert die Generierung einesFileResult methode. Mit IronPDF können SieASP.NET MVC-Framework um eine PDF-Datei zurückzugeben.

Diese Methode kann dann von Ihrem Controller wie unten dargestellt bedient werden.

/**
Serve PDF in ASPNET MVC
anchor-serve-pdf-in-asp-net-mvc
**/
public FileResult GetHTMLPageAsPDF(long id) {

  //Create a PDF Document

  using var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPdf and MVC</h1>");

  //return a pdf document from a view

  var contentLength = PDF.BinaryData.Length;

  Response.AppendHeader("Content-Length", contentLength.ToString());

  Response.AppendHeader("Content-Disposition", "inline; filename=Document_" + id + ".pdf");

  return File(PDF.BinaryData, "application/pdf;");

}
/**
Serve PDF in ASPNET MVC
anchor-serve-pdf-in-asp-net-mvc
**/
public FileResult GetHTMLPageAsPDF(long id) {

  //Create a PDF Document

  using var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPdf and MVC</h1>");

  //return a pdf document from a view

  var contentLength = PDF.BinaryData.Length;

  Response.AppendHeader("Content-Length", contentLength.ToString());

  Response.AppendHeader("Content-Disposition", "inline; filename=Document_" + id + ".pdf");

  return File(PDF.BinaryData, "application/pdf;");

}

Für ein fortgeschrittenes Beispiel könnten Sie Ihre HTML-Ansicht verwenden, um eine HTML-Zeichenkette zu generieren und sie dann wie oben gezeigt in PDF zu konvertieren.


3. Vorhandene PDF-Datei servieren

Direktes Bedienen einerPDF-Datei in anderen ASP.NET-Kontexten ist ebenfalls möglich.

/**
Serve Existing PDF
anchor-serve-existing-pdf-file
**/
Response.Clear();

Response.ContentType = "application/pdf";

Response.AddHeader("Content-Disposition","attachment;filename=\"FileName.pdf\"");

// edit this line to display in browser and change the file name

Response.BinaryWrite(System.IO.File.ReadAllBytes("MyPdf.pdf"));

// gets our pdf as a byte array and then sends it to the buffer

Response.Flush();

Response.End();
/**
Serve Existing PDF
anchor-serve-existing-pdf-file
**/
Response.Clear();

Response.ContentType = "application/pdf";

Response.AddHeader("Content-Disposition","attachment;filename=\"FileName.pdf\"");

// edit this line to display in browser and change the file name

Response.BinaryWrite(System.IO.File.ReadAllBytes("MyPdf.pdf"));

// gets our pdf as a byte array and then sends it to the buffer

Response.Flush();

Response.End();

4. Vorhandene HTML-Datei oder Zeichenkette servieren

/**
Serve Existing HTML File or String
anchor-serve-existing-html-file-or-string
**/
var Renderer = new IronPdf.ChromePdfRenderer();

using var PDF = Renderer.RenderHTMLFileAsPdf("Project/MyHtmlDocument.html");

// or to convert an HTML string

//var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");

Response.Clear();

Response.ContentType = "application/pdf";

Response.AddHeader("Content-Disposition","attachment;filename=\"FileName.pdf\"");

// edit this line to display in browser and change the file name

Response.BinaryWrite( PDF.BinaryData );

Response.Flush();

Response.End();
/**
Serve Existing HTML File or String
anchor-serve-existing-html-file-or-string
**/
var Renderer = new IronPdf.ChromePdfRenderer();

using var PDF = Renderer.RenderHTMLFileAsPdf("Project/MyHtmlDocument.html");

// or to convert an HTML string

//var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");

Response.Clear();

Response.ContentType = "application/pdf";

Response.AddHeader("Content-Disposition","attachment;filename=\"FileName.pdf\"");

// edit this line to display in browser and change the file name

Response.BinaryWrite( PDF.BinaryData );

Response.Flush();

Response.End();
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.