using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Berichte sind für die Darstellung von Daten in einem strukturierten und visuell ansprechenden Format unerlässlich. Ob es sich um Verkaufsdaten, Analysen oder Finanzübersichten handelt, die Erstellung von Berichten ist eine häufige Anforderung in Webanwendungen. *Microsoft bietet rdlc-Berichtsdienste, die mit dem Web Forms Report Viewer Control in Webanwendungen integriert werden können. Das Verfahren ist jedoch oft komplex und zeitaufwändig.
An dieser Stelle kommt IronPDF ins Spiel. IronPDF ist eine vielseitige Bibliothek, die die Erstellung von PDF-Berichten in ASP.NET und anderen Web-Frameworks vereinfacht und dabei leistungsstarke Funktionen und einfache Bedienung bietet. In diesem Artikel erfahren Sie, wie Sie mit IronPDF einen Bericht in ASP.NET erstellen können.
Wie man in ASP.NET einen Bericht erstellt
Erstellen einer ASP.NET-Webanwendung mit Visual Studio
Installieren Sie IronPDF und IronPDF.Extensions.MVC.Core
Objekt ChromePdfRenderer instanziieren Sender
Rufen Sie die Methode RenderRazorViewToPdf auf, um die Ansicht in PDF zu konvertieren
Hinzufügen von "Content-Disposition" mit Response.Headers.Append
Erstellen eines Berichts mit der Methode File mit PDF.BinaryData
Einführung in IronPDF
IronPDF ist eine vielseitige Bibliothek, die die Erzeugung von PDF-Dokumenten in ASP.NET und anderen Web-Frameworks vereinfacht. Die umfangreichen Funktionen und intuitiven APIs machen es zur idealen Wahl für Entwickler, die dynamische Berichte, Rechnungen, Quittungen und vieles mehr direkt aus ihren Webanwendungen erstellen möchten. Mit IronPDF können Entwickler mühelos HTML-, CSS- und sogar Razor-Ansichten in qualitativ hochwertige PDF-Dokumente umwandeln und so eine nahtlose Integration von Berichtsfunktionen in ihre ASP.NET-Projekte ermöglichen.
Merkmale von IronPDF
HTML-zu-PDF-Konvertierung: Konvertieren Sie HTML-Inhalte, einschließlich CSS-Stile, in hochwertige PDF-Dokumente.
PDF-Bearbeitung: Ändern Sie vorhandene PDF-Dokumente, indem Sie Text, Bilder und Anmerkungen hinzufügen oder entfernen.
PDF-Formularausfüllung: Füllen Sie PDF-Formulare dynamisch mit Daten aus Ihrer Webanwendung.
Barcode-Erzeugung: Generieren Sie Barcodes und QR-Codes in PDF-Dokumenten für Produktetiketten oder die Bestandsverfolgung.
Wasserzeichen: Fügen Sie Wasserzeichen zu PDF-Seiten hinzu, um sensible Informationen oder Markendokumente zu schützen.
Verschlüsselung und Sicherheit: Sichern Sie PDF-Dokumente mit Verschlüsselung, Passwörtern und Berechtigungseinstellungen.
Voraussetzungen
Bevor wir beginnen, sollten Sie sicherstellen, dass Sie die folgenden Voraussetzungen erfüllen:
Schritte zum Erstellen eines ASP.NET-Projekts in Visual Studio
Öffnen Sie Visual Studio und erstellen Sie ein neues ASP.NET Core-Projekt.
Wählen Sie die gewünschte Projektvorlage(z.B. MVC oder Razor Pages).
Konfigurieren Sie Projekteinstellungen wie Projektname, Speicherort und Framework-Version.
Klicken Sie auf "Erstellen", um die Projektstruktur zu erstellen.
Installation von IronPDF und IronPDF.Extensions.Mvc.Core
Als nächstes installieren wir IronPDF und sein MVC-Erweiterungspaket mit dem NuGet Package Manager:
Öffnen Sie den NuGet Package Manager für Lösungen, indem Sie mit der rechten Maustaste auf den Solution Explorer klicken.
Suchen Sie nach "IronPDF" und "IronPDF.Extensions.Mvc.Core".
Installieren Sie beide Pakete in Ihre Lösung.
Schritte zum Erstellen von Report Viewer in ASP.NET Web Application
Lassen Sie uns nun in die Schritte eintauchen, um einen PDF-Bericht mit IronPDF in unserem ASP.NET-Projekt zu erstellen. Bevor wir eine Ansicht in einen Bericht umwandeln, benötigen wir ein Modell, eine Ansicht und einen Controller, um eine Datenquelle für die Erstellung und das Herunterladen eines neuen Berichts im PDF-Format zu erstellen.
Schritt 1: Definieren einer Modellklasse
Erstellen Sie zunächst eine Modellklasse(SalesModel.cs) um die Verkaufsdaten darzustellen. Diese Beispielklasse SalesModel enthält Eigenschaften wie Date, ProductName, Quantity, UnitPrice und TotalAmount. Dies ist nützlich, wenn Informationen aus einer Datenquelle wie Microsoft SQL Server oder MySQL Server abgerufen werden.
namespace ReportGenerator.Models
{
public class SalesModel
{
public DateTime Date { get; set; }
public string ProductName { get; set; }
public int Quantity { get; set; }
public decimal UnitPrice { get; set; }
public decimal TotalAmount => Quantity * UnitPrice;
}
}
namespace ReportGenerator.Models
{
public class SalesModel
{
public DateTime Date { get; set; }
public string ProductName { get; set; }
public int Quantity { get; set; }
public decimal UnitPrice { get; set; }
public decimal TotalAmount => Quantity * UnitPrice;
}
}
Namespace ReportGenerator.Models
Public Class SalesModel
Public Property [Date]() As DateTime
Public Property ProductName() As String
Public Property Quantity() As Integer
Public Property UnitPrice() As Decimal
Public ReadOnly Property TotalAmount() As Decimal
Get
Return Quantity * UnitPrice
End Get
End Property
End Class
End Namespace
Schritt 2: Erstellen Sie eine neue Webformularansicht
Als nächstes erstellen Sie eine Razor-Ansicht(Sales.cshtml) um die Verkaufsdaten in einem tabellarischen Format anzuzeigen und eine Schaltfläche zur Erstellung des PDF-Berichts bereitzustellen.
Fügen Sie nun in der Datei _Layout.cshtml, die sich im Ordner Ansichten->Gemeinsam befindet, den Punkt Verkäufe als Menüpunkt hinzu, um eine Ansicht des Berichtsassistenten zu erstellen:
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<li class="nav-item"> <a class="nav-link text-dark" asp-area="" asp-controller="Sales" asp-action="Sales"> Sales</a> </li>
Schritt 3: Registrierung des View Render Service
Die Aufnahme der Registrierung des View-Rendering-Dienstes in die Datei Program.cs ist entscheidend für die korrekte Funktion der Dependency Injection. Fügen Sie den folgenden Code in die Datei Program.cs ein, um den Dienst IRazorViewRenderer zu registrieren:
// Register the IRazorViewRenderer service
builder.Services.AddSingleton<IRazorViewRenderer, RazorViewRenderer>();
// Register the IRazorViewRenderer service
builder.Services.AddSingleton<IRazorViewRenderer, RazorViewRenderer>();
' Register the IRazorViewRenderer service
builder.Services.AddSingleton(Of IRazorViewRenderer, RazorViewRenderer)()
Implementierung eines Controllers(SalesController.cs) mit Aktionen zur Darstellung der Verkaufsansicht und zur Erstellung des PDF-Berichts. Injizieren Sie den von IronPDF bereitgestellten Dienst IRazorViewRenderer in den Konstruktor des Controllers.
using ReportGenerator.Models;
namespace ReportGenerator.Controllers
{
public class SalesController : Controller
{
private readonly IRazorViewRenderer _viewRenderService;
private readonly List<SalesModel> salesData;
public SalesController(IRazorViewRenderer viewRenderService)
{
_viewRenderService = viewRenderService;
// Example data with sales information
salesData = new List<SalesModel>
{
new SalesModel { Date = DateTime.Parse("2024-03-01"), ProductName = "Product A", Quantity = 10, UnitPrice = 50.00m },
new SalesModel { Date = DateTime.Parse("2024-03-02"), ProductName = "Product B", Quantity = 15, UnitPrice = 40.00m },
new SalesModel { Date = DateTime.Parse("2024-03-03"), ProductName = "Product C", Quantity = 20, UnitPrice = 30.00m }
// Add more data as needed
};
}
public IActionResult Sales()
{
// Renders the data in Sales view
return View(salesData);
}
}
}
using ReportGenerator.Models;
namespace ReportGenerator.Controllers
{
public class SalesController : Controller
{
private readonly IRazorViewRenderer _viewRenderService;
private readonly List<SalesModel> salesData;
public SalesController(IRazorViewRenderer viewRenderService)
{
_viewRenderService = viewRenderService;
// Example data with sales information
salesData = new List<SalesModel>
{
new SalesModel { Date = DateTime.Parse("2024-03-01"), ProductName = "Product A", Quantity = 10, UnitPrice = 50.00m },
new SalesModel { Date = DateTime.Parse("2024-03-02"), ProductName = "Product B", Quantity = 15, UnitPrice = 40.00m },
new SalesModel { Date = DateTime.Parse("2024-03-03"), ProductName = "Product C", Quantity = 20, UnitPrice = 30.00m }
// Add more data as needed
};
}
public IActionResult Sales()
{
// Renders the data in Sales view
return View(salesData);
}
}
}
Imports ReportGenerator.Models
Namespace ReportGenerator.Controllers
Public Class SalesController
Inherits Controller
Private ReadOnly _viewRenderService As IRazorViewRenderer
Private ReadOnly salesData As List(Of SalesModel)
Public Sub New(ByVal viewRenderService As IRazorViewRenderer)
_viewRenderService = viewRenderService
' Example data with sales information
salesData = New List(Of SalesModel) From {
New SalesModel With {
.Date = DateTime.Parse("2024-03-01"),
.ProductName = "Product A",
.Quantity = 10,
.UnitPrice = 50.00D
},
New SalesModel With {
.Date = DateTime.Parse("2024-03-02"),
.ProductName = "Product B",
.Quantity = 15,
.UnitPrice = 40.00D
},
New SalesModel With {
.Date = DateTime.Parse("2024-03-03"),
.ProductName = "Product C",
.Quantity = 20,
.UnitPrice = 30.00D
}
}
End Sub
Public Function Sales() As IActionResult
' Renders the data in Sales view
Return View(salesData)
End Function
End Class
End Namespace
Im obigen Code wird innerhalb des Konstruktors der Dienst IRazorViewRenderer dem privaten Feld _viewRenderService zugewiesen. Außerdem initialisiert der Controller eine Liste mit dem Namen salesData, die Instanzen der Klasse SalesModel enthält, die Verkaufsinformationen zu Demonstrationszwecken darstellen.
Der Verkauf() Die Aktionsmethode gibt eine Ansicht mit dem Namen "Sales" zurück und übergibt die Liste salesData als Modell. Diese Aktion ist für die Darstellung der Verkaufsdaten in der zugehörigen Ansicht verantwortlich, so dass die Benutzer die Verkaufsinformationen in einem Tabellenformat oder einem anderen gewünschten Layout anzeigen können.
Schritt 4: PDF-Bericht generieren
Verwenden Sie in der Aktion GeneratePdf des Controllers den ChromePdfRenderer von IronPDF, um dieRazor-Ansicht zu einer PDF-Datei Berichtsdokument. Setzen Sie die entsprechenden Antwort-Header und geben Sie die PDF-Datei an den Client zurück.
public FileContentResult GeneratePdf()
{
License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render View to PDF document
PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Sales/Sales.cshtml", salesData);
Response.Headers.Append("Content-Disposition", "inline");
// Output PDF document
return File(pdf.BinaryData, "application/pdf", "SalesReport.pdf");
}
public FileContentResult GeneratePdf()
{
License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render View to PDF document
PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Sales/Sales.cshtml", salesData);
Response.Headers.Append("Content-Disposition", "inline");
// Output PDF document
return File(pdf.BinaryData, "application/pdf", "SalesReport.pdf");
}
Public Function GeneratePdf() As FileContentResult
License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
Dim renderer As New ChromePdfRenderer()
' Render View to PDF document
Dim pdf As PdfDocument = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Sales/Sales.cshtml", salesData)
Response.Headers.Append("Content-Disposition", "inline")
' Output PDF document
Return File(pdf.BinaryData, "application/pdf", "SalesReport.pdf")
End Function
Lassen Sie uns die Funktionsweise des obigen Codes im Detail verstehen:
Lizenzschlüssel-Setup:
License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
In dieser Zeile wird der für IronPDF erforderliche Lizenzschlüssel festgelegt. Sie ist für die Nutzung der IronPDF-Funktionen innerhalb der Anwendung unerlässlich.
Renderer-Initialisierung:
ChromePdfRenderer renderer = new ChromePdfRenderer();
Eine Instanz von ChromePdfRenderer wird erstellt. Dieser Renderer ist für die Umwandlung von Razor-Ansichten in das PDF-Format unter Verwendung der Chromium-Browser-Engine zuständig.
Ansicht in PDF rendern:
PdfDocument PDF = renderer.RenderRazorViewToPdf(_viewRenderService, "Ansichten/Verkauf/Verkauf.cshtml", salesData);
Die Funktion RenderRazorViewToPdf() Methode von ChromePdfRenderer wird aufgerufen, um die angegebene Razor-Ansicht zu rendern(Views/Verkauf/Verkauf.cshtml) in ein PDF-Dokument. Die Variable salesData dient als Modell für die Ansicht.
Der HTTP-Antwort-Header Content-Disposition ist auf "inline " gesetzt. Dies weist den Browser an, den PDF-Inhalt direkt anzuzeigen, um Berichte innerhalb des Browserfensters oder der Registerkarte anzuzeigen, wenn diese geöffnet werden.
Der Inhalt des PDF-Dokuments wird als FileContentResult zurückgegeben. Sie enthält die Binärdaten der PDF-Datei(pdf.BinaryData)an, gibt als MIME-Typ "application/pdf " an und schlägt als Dateinamen "SalesReport.pdf " vor.
Insgesamt wird mit dieser Methode der Prozess der Erstellung eines PDF-Berichts aus einer Razor-Ansicht effizient orchestriert, so dass sie sich für die Integration in eine ASP.NET-Anwendung eignet, um die Berichtsfunktionen zu verbessern.
Ausführliche Informationen darüber, wie IronPDF die Erstellung von PDF-Berichten und andere PDF-bezogene Aufgaben vereinfacht, finden Sie auf der WebsiteDokumentation seite.
Schlussfolgerung
In diesem Artikel haben wir uns angesehen, wie IronPDF den Prozess der Erstellung von PDF-Berichten in ASP.NET-Anwendungen vereinfacht. Wenn Sie die oben beschriebene Schritt-für-Schritt-Anleitung befolgen, können Sie IronPDF schnell in Ihre ASP.NET-Projekte integrieren und mit Leichtigkeit dynamische PDF-Berichte erstellen.
Mit seinem umfangreichen Funktionsumfang und der nahtlosen Integration ermöglicht IronPDF Entwicklern die Erstellung von Berichten in professioneller Qualität, die den Anforderungen ihrer Benutzer und Unternehmen entsprechen.
IronPDF bietet einekostenlos testen. Laden Sie die Bibliothek herunter von*hier und probieren Sie es aus.
Regan schloss sein Studium an der University of Reading mit einem BA in Elektrotechnik ab. Bevor er zu Iron Software kam, konzentrierte er sich in seinen früheren Jobs auf einzelne Aufgaben. Was ihm bei Iron Software am meisten Spaß macht, ist das Spektrum der Aufgaben, die er übernehmen kann, sei es im Vertrieb, im technischen Support, in der Produktentwicklung oder im Marketing. Es macht ihm Spaß, die Art und Weise zu verstehen, wie Entwickler die Bibliothek von Iron Software nutzen, und dieses Wissen zu nutzen, um die Dokumentation und die Produkte kontinuierlich zu verbessern.
< PREVIOUS Erstellen von Berichtsanwendungen in C#
NÄCHSTES > Wie man Daten aus PDF-Dokumenten auswertet