Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Die Umwandlung von CSHTML in PDF ist eine häufige Anforderung in vielen Anwendungen. Diese Aufgabe lässt sich mit der IronPDF-Bibliothek in C# leicht bewältigen.
IronPDF ist eine beliebte .NET-Bibliothek, mit der Entwickler PDF-Dokumente programmgesteuert erstellen, lesen, bearbeiten und konvertieren können. In diesem Artikel werden wir Sie durch die Schritte der Konvertierung von CSHTML in PDF mit IronPDF in C# führen, zusammen mit Beispielen.
Bevor wir beginnen, sollten wir einige wichtige Konzepte besprechen, die für diesen Lehrgang notwendig sind.
Ein PDF-Konverter ist ein Werkzeug, das jedes druckbare Dokument oder jede Webseite in ein PDF-Dokument umwandelt. Es kann verwendet werden, um PDF-Dateien aus HTML-, Word-, Excel- oder jedem anderen druckbaren Dokument zu erzeugen. PDF-Konverter gibt es in verschiedenen Formen, darunter Online-Tools, Desktop-Software und Bibliotheken.
Eine Razor-View ist eine View-Engine, die in ASP.NET Core verwendet wird, um HTML-Seiten dynamisch zu generieren. Es handelt sich um eine Auszeichnungssyntax, die HTML-Auszeichnungen mit C#-Code kombiniert.
Razor View
Razor View macht es Entwicklern leicht, dynamische Webseiten zu erstellen, indem die Präsentationslogik von der Geschäftslogik getrennt wird.
Eine Controller-Klasse ist eine C#-Klasse, die eingehende HTTP-Anforderungen in einer ASP.NET Core-Anwendung verarbeitet. Sie enthält Methoden, die bestimmten HTTP-Verben entsprechen (z.B. GET, POST, PUT, DELETE)und gibt eine HTTP-Antwort zurück.
NuGet Package Manager ist ein Tool, das in Visual Studio verwendet wird, um Pakete in .NET-Projekten zu verwalten. Es erleichtert den Entwicklern die Installation, Aktualisierung und Deinstallation von Paketen in ihren Projekten. NuGet-Pakete sind Bibliotheken, die wiederverwendbaren Code enthalten und über den NuGet-Paketmanager verteilt werden.
Dependency Injection ist ein Entwurfsmuster, das es Entwicklern ermöglicht, ihre Anwendungskomponenten durch Einfügen von Abhängigkeiten in ihre Klassen zu entkoppeln. Es erleichtert das Testen und Warten von Anwendungen, indem es Abhängigkeiten reduziert und den Code modularer gestaltet.
Nachdem wir nun die wichtigsten Konzepte behandelt haben, wollen wir nun in den Prozess der Konvertierung von CSHTML in PDF mit IronPDF eintauchen.
CSHTML steht für C# Razor Syntax HTML. Es handelt sich um einen Dateityp, der sowohl HTML-Markup als auch C#-Code enthält. Diese Dateien werden in AS.NET Core MVC-Anwendungen verwendet, um die Benutzeroberfläche von Webseiten zu definieren. Die Razor-View-Engine wird verwendet, um die CSHTML-Dateien zu interpretieren und eine HTML-Ausgabe zu erzeugen, die von einem Webbrowser gerendert werden kann.
CSHTML5
IronPDF ist eine leistungsstarke .NET-Bibliothek, mit der Entwickler PDF-Dokumente in C# erstellen, lesen, bearbeiten und konvertieren können. Es ist ein beliebtes Werkzeug zur programmgesteuerten Erzeugung von PDF-Dokumenten in .NET-Anwendungen. IronPDF unterstützt eine breite Palette von Funktionen, einschließlich PDF-Erzeugung, PDF-Bearbeitung, PDF-Konvertierung und PDF-Rendering.
IronPDF for .NET
Die Umwandlung von CSHTML in PDF mit IronPDF ist ein einfacher Prozess. Die Bibliothek bietet eine praktische API für die Konvertierung von HTML-Dateien in PDF-Dokumente. Hier sind die Schritte zur Konvertierung von CSHTML in PDF mit IronPDF in C#:
Der erste Schritt ist die Installation IronPDF in Ihrem C#-Projekt. Sie können IronPDF mit dem NuGet Package Manager installieren oder die Datei IronPDF.dll herunterladen und zu Ihren Projektreferenzen hinzufügen. Um IronPDF mit dem NuGet Package Manager zu installieren, öffnen Sie die Package Manager Console und führen Sie den folgenden Befehl aus
Install-Package IronPdf
Als Nächstes erstellen Sie eine CSHTML-Datei, die den Inhalt enthält, den Sie in PDF umwandeln möchten. In diesem Beispiel erstellen wir eine einfache CSHTML datei, die den Text "Hello, World" anzeigt!".
@{
Layout = null;
}
Hello
Hello, World!
@{
Layout = null;
}
Hello
Hello, World!
@
If True Then
Layout = Nothing
End If
'INSTANT VB TODO TASK: The following line uses invalid syntax:
' Hello Hello, World!
Speichern Sie diese Datei unter dem Namen "Hello.cshtml" in Ihrem Projektverzeichnis.
PDF-Dateien in C#
Zur Umwandlung der CSHTML datei in PDF umzuwandeln, verwenden wir die IronPDF-Bibliothek in C#. Hier ist der Code zur Konvertierung von "Hello.cshtml" in PDF:
using System.IO;
using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace CSHTMLtoPDF.Controllers
{
public class HomeController : Controller
{
private readonly IRazorViewRenderer _viewRenderService;
public HomeController(IRazorViewRenderer viewRenderService)
{
_viewRenderService = viewRenderService;
}
public IActionResult Index()
{
var items = new [] { "Item 1", "Item 2", "Item 3" };
return View(items);
}
public IActionResult DownloadPDF()
{
var items = new [] { "Item 1", "Item 2", "Item 3" };
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Index.cshtml", items);
var contentDisposition = new Syste.NET.Mime.ContentDisposition
{
FileName = "Items.pdf",
Inline = false,
};
Response.Headers.Add("Content-Disposition", contentDisposition.ToString());
return File(pdf.BinaryData, "application/pdf");
}
}
}
using System.IO;
using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace CSHTMLtoPDF.Controllers
{
public class HomeController : Controller
{
private readonly IRazorViewRenderer _viewRenderService;
public HomeController(IRazorViewRenderer viewRenderService)
{
_viewRenderService = viewRenderService;
}
public IActionResult Index()
{
var items = new [] { "Item 1", "Item 2", "Item 3" };
return View(items);
}
public IActionResult DownloadPDF()
{
var items = new [] { "Item 1", "Item 2", "Item 3" };
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Index.cshtml", items);
var contentDisposition = new Syste.NET.Mime.ContentDisposition
{
FileName = "Items.pdf",
Inline = false,
};
Response.Headers.Add("Content-Disposition", contentDisposition.ToString());
return File(pdf.BinaryData, "application/pdf");
}
}
}
Imports System.IO
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Namespace CSHTMLtoPDF.Controllers
Public Class HomeController
Inherits Controller
Private ReadOnly _viewRenderService As IRazorViewRenderer
Public Sub New(ByVal viewRenderService As IRazorViewRenderer)
_viewRenderService = viewRenderService
End Sub
Public Function Index() As IActionResult
Dim items = { "Item 1", "Item 2", "Item 3" }
Return View(items)
End Function
Public Function DownloadPDF() As IActionResult
Dim items = { "Item 1", "Item 2", "Item 3" }
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Index.cshtml", items)
Dim contentDisposition = New Syste.NET.Mime.ContentDisposition With {
.FileName = "Items.pdf",
.Inline = False
}
Response.Headers.Add("Content-Disposition", contentDisposition.ToString())
Return File(pdf.BinaryData, "application/pdf")
End Function
End Class
End Namespace
Lassen Sie uns diesen Code Schritt für Schritt durchgehen:
Index
, die einfach eine Liste von Elementen an eine Razor-Ansicht zurückgibt.Content-Disposition
, um zu erzwingen, dass die PDF-Datei heruntergeladen und nicht im Browser angezeigt wird.Schließlich geben wir das PDF-Dokument mit der File-Methode als Datei zurück.
Dies ist der grundlegende Code zur Konvertierung von CSHTML in PDF mit IronPDF in C#. Es gibt jedoch viele Optionen und Einstellungen, mit denen Sie die PDF-Ausgabe anpassen können. Werfen wir einen Blick auf einige dieser Optionen.
IronPDF bietet zahlreiche Optionen zur Anpassung der PDF-Ausgabe. Sie können Optionen einstellen wie seitengröße, margen, Orientierung, kopf- und Fußzeileund mehr. Hier ein Beispiel, wie Sie die PDF-Ausgabe anpassen können:
using IronPdf;
namespace ConsoleApp
{
class Program
{
static void Main(string [] args)
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
MaxHeight = 20, //millimeters
HtmlFragment = "<img src='logo.png'>",
BaseUrl = new Uri(@"C:\assets\images\").AbsoluteUri
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
MaxHeight = 15, //millimeters
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
var pdf = renderer.RenderHtmlAsPdf("\r\n\r\n\r\n \r\n Hello\r\n\r\n\r\n Hello, World!\r\n\r\n");
pdf.SaveAs("Hello.PDF");
}
}
}
using IronPdf;
namespace ConsoleApp
{
class Program
{
static void Main(string [] args)
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
MaxHeight = 20, //millimeters
HtmlFragment = "<img src='logo.png'>",
BaseUrl = new Uri(@"C:\assets\images\").AbsoluteUri
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
MaxHeight = 15, //millimeters
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
var pdf = renderer.RenderHtmlAsPdf("\r\n\r\n\r\n \r\n Hello\r\n\r\n\r\n Hello, World!\r\n\r\n");
pdf.SaveAs("Hello.PDF");
}
}
}
Imports Microsoft.VisualBasic
Imports IronPdf
Namespace ConsoleApp
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.MarginTop = 10
renderer.RenderingOptions.MarginBottom = 10
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
.MaxHeight = 20,
.HtmlFragment = "<img src='logo.png'>",
.BaseUrl = (New Uri("C:\assets\images\")).AbsoluteUri
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
.MaxHeight = 15,
.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
.DrawDividerLine = True
}
Dim pdf = renderer.RenderHtmlAsPdf(vbCrLf & vbCrLf & vbCrLf & " " & vbCrLf & " Hello" & vbCrLf & vbCrLf & vbCrLf & " Hello, World!" & vbCrLf & vbCrLf)
pdf.SaveAs("Hello.PDF")
End Sub
End Class
End Namespace
In diesem Beispiel erstellen wir zunächst eine Instanz der Klasse "ChromePdfRenderer". Anschließend werden verschiedene Optionen über die Eigenschaft "RenderingOptions" der Klasse "ChromePdfRenderer" festgelegt. Hier sind einige der Optionen, die wir eingestellt haben:
PaperSize
: Setzt das Papierformat des PDF-Dokuments auf A4.MarginTop
, MarginBottom
, MarginLeft
, 'MarginRight`: Setzt die Ränder des PDF-Dokuments auf 10 mm oben und unten und 20 mm links und rechts.HtmlHeader
: Legt die Kopfzeile des PDF-Dokuments so fest, dass der Titel des Dokuments und eine Trennlinie angezeigt werden.HtmlFooter
: Legt fest, dass in der Fußzeile des PDF-Dokuments die Seitenzahl, die Gesamtseiten und das aktuelle Datum angezeigt werden.
Nachdem wir die Optionen eingestellt haben, rufen wir die renderHtmlAsPdf methode mit demselben HTML-Inhalt wie zuvor. Schließlich speichern wir das PDF-Dokument in einer Datei mit dem Namen "Hello.PDF".
Da der gesamte erforderliche Code vorhanden ist, können wir nun die Anwendung testen. Folgen Sie diesen Schritten:
http://localhost:/Home/Index
, wo die von Visual Studio zugewiesene Portnummer steht.Klicken Sie auf den Link "PDF herunterladen", um das PDF-Dokument zu erstellen und herunterzuladen.
Wenn alles richtig funktioniert, sollten Sie ein PDF-Dokument sehen, das die Liste der Elemente enthält, die Sie zuvor definiert haben.
PDF nach CSHTML
Um zu demonstrieren, wie man mit IronPDF ein PDF in eine CSHTML-Datei konvertiert, werden wir eine neue Konsolenanwendung in Visual Studio erstellen und IronPDF verwenden, um ein Beispiel-PDF-Dokument in eine CSHTML-Datei zu konvertieren. Folgen Sie diesen Schritten:
Öffnen Sie Visual Studio und erstellen Sie eine neue Konsolenanwendung, indem Sie im Menü "Datei > Neu > Projekt" wählen und dann "Konsolenanwendung" auswählen (.NET-Framework)" oder "Konsolen-App (.NET Core)" aus der Liste der Projektvorlagen.
Als nächstes müssen wir das IronPDF NuGet-Paket in unserer Konsolenanwendung installieren. Klicken Sie dazu im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt und wählen Sie im Kontextmenü "NuGet-Pakete verwalten".
Suchen Sie im NuGet Package Manager nach "IronPDF" und wählen Sie das Paket "IronPDF" aus den Suchergebnissen aus. Klicken Sie auf die Schaltfläche "Installieren", um das Paket und seine Abhängigkeiten zu installieren.
Für dieses Beispiel verwenden wir eine Beispiel-PDF-Datei, die wir in eine CSHTML-Datei umwandeln wollen. Sie können jede beliebige PDF-Datei für diesen Schritt verwenden.
Fügen Sie die PDF-Datei dem Projekt hinzu, indem Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt klicken und im Kontextmenü "Hinzufügen > Vorhandenes Element" wählen.
Außerdem müssen wir eine leere CSHTML-Datei erstellen, in der wir die umgewandelte HTML-Zeichenkette speichern werden. Klicken Sie dazu mit der rechten Maustaste auf das Projekt im Projektmappen-Explorer und wählen Sie im Kontextmenü "Hinzufügen > Neues Element". Wählen Sie "HTML-Seite" aus der Liste der Vorlagen und geben Sie der Datei einen Namen (z.B. "converted.cshtml") und klicken Sie auf "Hinzufügen".
Mit den erforderlichen Dateien können wir nun den Code für die Umwandlung der PDF-Datei in eine CSHTML-Datei mit IronPDF schreiben. Fügen Sie den folgenden Code in die Main-Methode Ihrer Konsolenanwendung ein:
using IronPdf;
namespace PdfToHtml
{
class Program
{
static void Main(string [] args)
{
// Load the PDF file
PdfDocument pdf = PdfDocument.FromFile("sample.PDF");
// Convert the PDF to an HTML string
string html = pdf.ToHtml();
// Save the HTML string to the CSHTML file
}
}
}
using IronPdf;
namespace PdfToHtml
{
class Program
{
static void Main(string [] args)
{
// Load the PDF file
PdfDocument pdf = PdfDocument.FromFile("sample.PDF");
// Convert the PDF to an HTML string
string html = pdf.ToHtml();
// Save the HTML string to the CSHTML file
}
}
}
Imports IronPdf
Namespace PdfToHtml
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Load the PDF file
Dim pdf As PdfDocument = PdfDocument.FromFile("sample.PDF")
' Convert the PDF to an HTML string
Dim html As String = pdf.ToHtml()
' Save the HTML string to the CSHTML file
End Sub
End Class
End Namespace
IronPDF ist bei .NET-Entwicklern aus einigen wichtigen Gründen sehr beliebt:
Leistungsstarke PDF Erzeugung Fähigkeiten: IronPDF bietet eine Vielzahl von Funktionen und Optionen für die programmgesteuerte Erstellung und Bearbeitung von PDF-Dokumenten, einschließlich der Möglichkeit, PDF-Seiten mit Text, Bildern und anderen Inhalten zu versehen sowie vorhandene PDF-Dokumente zusammenzuführen und zu teilen.
Vielseitige PDF Konvertierung Fähigkeiten**: IronPDF ermöglicht es Entwicklern nicht nur, PDF-Dokumente zu erzeugen, sondern bietet auch Funktionen zur Konvertierung von PDFs in HTML-Strings oder CSHTML-Dateien. Dies kann in Situationen nützlich sein, in denen Sie PDF-Inhalte in einer Webanwendung anzeigen oder Daten aus PDF-Dokumenten extrahieren und in einem webbasierten Workflow verwenden müssen.
Einfache Anwendung API: Die API von IronPDF ist so konzipiert, dass sie intuitiv und einfach zu bedienen ist. Sie verfügt über eine breite Palette von Hilfsmethoden und Eigenschaften, die es Entwicklern leicht machen, PDF-Dokumente programmatisch zu erzeugen und zu bearbeiten.
Starke Gemeinschaft Unterstützung: IronPDF verfügt über eine große und aktive Gemeinschaft von .NET-Entwicklern, die zu seiner Entwicklung beitragen und anderen Entwicklern, die die Bibliothek verwenden, Unterstützung bieten.
Gute Dokumentation: Die Dokumentation von IronPDF ist umfangreich und gut organisiert, mit einer detaillierten API-Referenzdokumentation, Tutorien und Beispielen, die es Entwicklern leicht machen, den Einstieg zu finden und die Verwendung der Bibliothek zu erlernen.
IronPDFs Kombination aus leistungsstarken PDF-Erzeugungs- und Konvertierungsfunktionen, einer benutzerfreundlichen API, einer starken Community-Unterstützung und einer guten Dokumentation machen es zu einer beliebten Wahl für .NET-Entwickler, die mit PDF-Dokumenten in ihren Anwendungen arbeiten müssen.
Die Umwandlung von CSHTML in PDF ist eine häufige Anforderung in vielen Anwendungen. Mit IronPDF kann diese Aufgabe leicht in C# erledigt werden. In diesem Artikel haben wir Sie durch die Schritte der Konvertierung von CSHTML in PDF mit IronPDF geführt, zusammen mit Beispielen.
Wir haben Ihnen auch gezeigt, wie Sie die PDF-Ausgabe anpassen können, indem Sie verschiedene Optionen wie Papierformat, Ränder, Kopf- und Fußzeilen und vieles mehr einstellen. Mit IronPDF können Sie schnell und einfach hochwertige PDF-Dokumente aus Ihren CSHTML-Dateien erstellen.
Egal, ob Sie PDF-Dokumente von Grund auf neu erstellen, PDFs in HTML-Strings oder CSHTML-Dateien konvertieren oder Daten aus PDF-Dokumenten extrahieren möchten, IronPDF bietet eine flexible und intuitive API, mit der Sie Ihre Arbeit leicht erledigen können.
Dank der starken Unterstützung durch die Community und der umfangreichen Dokumentation ist IronPDF eine beliebte Wahl für .NET-Entwickler, die mit PDFs in ihren Anwendungen arbeiten müssen. Durch den Erwerb des Iron Software-Pakets erhalten Entwickler Zugang zu einem umfassenden Satz von .NET-Bibliotheken für die Arbeit mit gängigen Dateiformaten zu einem ermäßigten Preis, was es für jedes .NET-Entwicklungsteam zu einem hervorragenden Wert macht.
Wenn Sie mit PDF-Dokumenten in Ihren .NET-Anwendungen arbeiten müssen, ist IronPDF definitiv eine Überlegung wert. Mit seinen leistungsstarken Funktionen, seiner Benutzerfreundlichkeit und einer Reihe von Lizenzierungsoptionen ist es ein vielseitiges und zuverlässiges Werkzeug, mit dem Sie Ihre Arbeit schnell und effizient erledigen können.
9 .NET API-Produkte für Ihre Bürodokumente