Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
IronPDF konvertiert programmgesteuert HTML- in PDF-Dokumente.
Ein einfaches Beispiel für diese Technik kann sein heruntergeladen und angesehen.
Der Quellcode für diesen gesamten Artikel ist für C# als C# HTML zu PDF Projekt Quellcode herunterladen.
Die folgende Anleitung führt Sie durch den Prozess der Verwendung von IronPDF als PDF-Generator C#. Es deckt sowohl die Grundlagen als auch viele fortgeschrittene C# PDF Themen ab.
Diese Demo zeigt Ihnen anhand von Beispielen, wie Sie IronPDF verwenden können. Bitte fordern Sie weitere Demos für Anwendungsfälle an.
Die Demo besteht aus Hello World, renderHtmlAsPdf und renderUrlAsPdf beispiele. Alle Beispiele finden Sie unter den entsprechenden Projekten der IronPDF Demo-Lösung.
Sie können IronPDF entweder über NuGet installieren. Der Paketname lautet IronPDF.
Oder Sie können verwenden direkter Link zum Herunterladen der Bibliothek.
Sobald Sie IronPDF installiert und in Ihrem Projekt referenziert haben, können Sie es sofort verwenden, indem Sie ein paar Zeichenfolgen eingeben:
var ChromePdfRenderer = new ChromePdfRenderer(); // new instance of ChromePdfRenderer
var ChromePdfRenderer = new ChromePdfRenderer(); // new instance of ChromePdfRenderer
Dim ChromePdfRenderer As New ChromePdfRenderer() ' new instance of ChromePdfRenderer
dann, wenn Sie HTML in PDF umwandeln müssen
// html to turn into pdf
var html = @"<h1>Hello World!</h1><br><p>This is IronPdf.</p>";
// turn html to pdf
using var pdf = ChromePdfRenderer.RenderHtmlAsPdf(html);
// save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "ChromePdfRenderer.Pdf"));
// html to turn into pdf
var html = @"<h1>Hello World!</h1><br><p>This is IronPdf.</p>";
// turn html to pdf
using var pdf = ChromePdfRenderer.RenderHtmlAsPdf(html);
// save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "ChromePdfRenderer.Pdf"));
' html to turn into pdf
Dim html = "<h1>Hello World!</h1><br><p>This is IronPdf.</p>"
' turn html to pdf
Dim pdf = ChromePdfRenderer.RenderHtmlAsPdf(html)
' save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "ChromePdfRenderer.Pdf"))
oder wenn Sie eine Webseite in eine PDF-Datei umwandeln möchten
// uri of the page to turn into pdf
var uri = new Uri("http://www.google.com/ncr");
// turn page into pdf
pdf = ChromePdfRenderer.RenderUrlAsPdf(uri);
// save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"));
// uri of the page to turn into pdf
var uri = new Uri("http://www.google.com/ncr");
// turn page into pdf
pdf = ChromePdfRenderer.RenderUrlAsPdf(uri);
// save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"));
' uri of the page to turn into pdf
Dim uri As New Uri("http://www.google.com/ncr")
' turn page into pdf
pdf = ChromePdfRenderer.RenderUrlAsPdf(uri)
' save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"))
Und das war's!
Die entsprechenden Ergebnisse sind:
Das Ergebnis der Umwandlung von HTML in PDF**
Das Ergebnis der Konvertierung einer Webseite in eine PDF-Datei
Das Codebeispiel finden Sie unter IronPDFDemo.HelloWorld Projekt.
Um ein realistischeres Beispiel zu bewerten, stellen Sie sich eine HTML-Rechnung vor, die in ein PDF-Dokument umgewandelt werden muss. Hier ist der Code, wie man das macht.
Hinweis: Sie finden Rechnung html unter IronPDFDemo.DemoWebSite Projekt (~/Static/TestInvoice1.html). Bitte beachten Sie, dass die Rechnung über benutzerdefinierte CSS für den Medientyp "Druck" verfügt.
Die Quellrechnung sieht im Browser wie folgt aus:
Um dies in eine PDF-Datei umzuwandeln, werden die gleichen Codes wie im obigen HelloWorld-Beispiel verwendet, mit dem Unterschied, dass die HTML-Quelldatei verwendet wird.
// read html from file
var html = File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), "TestInvoice1.html"));
var ChromePdfRenderer = new ChromePdfRenderer();
using var pdf = ChromePdfRenderer.RenderHtmlAsPdf(html);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "ChromePdfRendererExample1.Pdf"));
// read html from file
var html = File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), "TestInvoice1.html"));
var ChromePdfRenderer = new ChromePdfRenderer();
using var pdf = ChromePdfRenderer.RenderHtmlAsPdf(html);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "ChromePdfRendererExample1.Pdf"));
' read html from file
Dim html = File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), "TestInvoice1.html"))
Dim ChromePdfRenderer As New ChromePdfRenderer()
Dim pdf = ChromePdfRenderer.RenderHtmlAsPdf(html)
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "ChromePdfRendererExample1.Pdf"))
Das Ergebnis ist:
Erzeugen einer PDF-Datei aus HTML
Sieht toll aus! Das Codebeispiel finden Sie unter dem IronPDFDemo.RenderHtmlAdPdfDemo-Projekt.
Sehen Sie sich diese Frage auch auf Wie man HTML-Dokumente oder Strings mit Byte-Arrays in IronPDF verwendet
In diesem Abschnitt wird die PDF-Datei aus Beispiel 1 angepasst. So werden beispielsweise benutzerdefinierte Ränder, eine Kopfzeile mit einem Dokumententitel, eine Fußzeile mit einem Erstellungsdatum & Seitenzahlen und einige benutzerdefinierte CSS für den Medientyp "Drucken", den eine Standardrechnung hat, hinzugefügt. Zu diesem Zweck wird eine Instanz von "ChromePdfRenderOptions" initialisiert und an den Konstruktor "ChromePdfRenderer" übergeben.
var pdfRenderingOptions= new ChromePdfRenderOptions()
{
MarginTop = 50,
MarginBottom = 50,
TextHeader = new TextHeaderFooter()
{
CenterText = "{pdf-title}",
DrawDividerLine = true,
FontSize = 16
},
TextFooter = new TextHeaderFooter()
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true,
FontSize = 14
},
CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
};
var chromePdfRenderer = new ChromePdfRenderer(pdfRenderingOptions);
var pdfRenderingOptions= new ChromePdfRenderOptions()
{
MarginTop = 50,
MarginBottom = 50,
TextHeader = new TextHeaderFooter()
{
CenterText = "{pdf-title}",
DrawDividerLine = true,
FontSize = 16
},
TextFooter = new TextHeaderFooter()
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true,
FontSize = 14
},
CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
};
var chromePdfRenderer = new ChromePdfRenderer(pdfRenderingOptions);
Dim pdfRenderingOptions= New ChromePdfRenderOptions() With {
.MarginTop = 50,
.MarginBottom = 50,
.TextHeader = New TextHeaderFooter() With {
.CenterText = "{pdf-title}",
.DrawDividerLine = True,
.FontSize = 16
},
.TextFooter = New TextHeaderFooter() With {
.LeftText = "{date} {time}",
.RightText = "Page {page} of {total-pages}",
.DrawDividerLine = True,
.FontSize = 14
},
.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
}
Dim chromePdfRenderer As New ChromePdfRenderer(pdfRenderingOptions)
Tipp: Anstatt Optionen als Parameter im Konstruktor zu übergeben, können Sie das entsprechende Feld für eine ChromePdfRenderer
-Instanz setzen:
var chromePdfRenderer = new ChromePdfRenderer();
chromePdfRenderer.RenderingOptions = pdfRenderingOptions;
var chromePdfRenderer = new ChromePdfRenderer();
chromePdfRenderer.RenderingOptions = pdfRenderingOptions;
Dim chromePdfRenderer As New ChromePdfRenderer()
chromePdfRenderer.RenderingOptions = pdfRenderingOptions
Hinweis: Kopf- und Fußzeile verfügen über eine Platzhalterfunktion, d.h. alle Platzhalterfelder ({seite}, {gesamt-Seiten}, {url}, {datum}, {zeit}, {html-title}, {pdf-Titel}) können mit entsprechenden Daten gefüllt werden.
Der Rest des Codes ist derselbe wie in Beispiel 1. Das Ergebnis ist:
Erstellen einer Rechnung mit Kopf- und Fußzeile
Benutzerdefinierte Ränder, Kopf- und Fußzeilen und CSS für den Medientyp "Print" sind jetzt vorhanden. Das Codebeispiel finden Sie unter dem IronPDFDemo.RenderHtmlAdPdfDemo-Projekt. Weitere Einstellungen finden Sie hier in der IronPDF API-Referenz.
Um die Beispiele in diesem Abschnitt auszuführen, müssen Sie die IronPDFDemo.DemoWebSite lokal hosten. Um dies in IIS Express zu tun:
Zur DemoWebSite navigieren
Rechtsklick > Als StartUp-Projekt festlegen
Start ohne Debugging (Strg+F5)
In diesem Abschnitt wird die gehostete DemoWebSite-Rechnung mit demselben Code wie im HelloWorld-Beispiel in eine PDF-Datei umgewandelt. Der Unterschied liegt in der gehosteten URL:
var uri = new Uri("http://localhost:51169/Static/TestInvoice1.html");
var urlToPdf = new ChromePdfRenderer();
using var pdf = urlToPdf.RenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdfExample1.Pdf"));
var uri = new Uri("http://localhost:51169/Static/TestInvoice1.html");
var urlToPdf = new ChromePdfRenderer();
using var pdf = urlToPdf.RenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdfExample1.Pdf"));
Dim uri As New Uri("http://localhost:51169/Static/TestInvoice1.html")
Dim urlToPdf = New ChromePdfRenderer()
Dim pdf = urlToPdf.RenderUrlAsPdf(uri)
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdfExample1.Pdf"))
Das Ergebnis ist:
Generierung einer gehosteten Website in eine PDF-Datei
Das ist großartig und sieht wie erwartet aus. Das Codebeispiel finden Sie im IronPDFDemo.RenderUrlAsPdfDemo-Projekt.
Viele Websites sind häufig durch eine Authentifizierungsmethode geschützt. Dieser Abschnitt verwendet einen angegebenen Benutzernamen und ein Kennwort während des Rendering-Prozesses einer PDF-Datei mit einigen Anpassungen: benutzerdefinierte Ränder, eine Kopfzeile mit dem Titel des Dokuments, eine Fußzeile mit dem Erstellungsdatum und den Seiten sowie benutzerdefiniertes CSS für den Medientyp "Drucken". Die URL für die Rechnung lautet: http
Zugriff auf http
Authentifizierungsformular erforderlich
Hinweis: Die Anmeldedaten lauten "testUser"/"testPassword".
Wie kann man also die Authentifizierung umgehen? Durch Setzen von "HttpLoginCredentials":
var uri = new Uri("http://localhost:51169/Invoice");
var urlToPdf = new ChromePdfRenderer
{
PrintOptions = new ChromePdfRenderer()
{
MarginTop = 50,
MarginBottom = 50,
TextHeader = new TextHeaderFooter()
{
CenterText = "{pdf-title}",
DrawDividerLine = true,
FontSize = 16
},
TextFooter = new TextHeaderFooter()
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true,
FontSize = 14
},
CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
},
// setting login credentials to bypass basic authentication
LoginCredentials = new HttpLoginCredentials()
{
NetworkUsername = "testUser",
NetworkPassword = "testPassword"
}
};
using var pdf = urlToPdf.RenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdfExample2.Pdf"));
var uri = new Uri("http://localhost:51169/Invoice");
var urlToPdf = new ChromePdfRenderer
{
PrintOptions = new ChromePdfRenderer()
{
MarginTop = 50,
MarginBottom = 50,
TextHeader = new TextHeaderFooter()
{
CenterText = "{pdf-title}",
DrawDividerLine = true,
FontSize = 16
},
TextFooter = new TextHeaderFooter()
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true,
FontSize = 14
},
CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
},
// setting login credentials to bypass basic authentication
LoginCredentials = new HttpLoginCredentials()
{
NetworkUsername = "testUser",
NetworkPassword = "testPassword"
}
};
using var pdf = urlToPdf.RenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdfExample2.Pdf"));
Dim uri As New Uri("http://localhost:51169/Invoice")
Dim urlToPdf = New ChromePdfRenderer With {
.PrintOptions = New ChromePdfRenderer() With {
.MarginTop = 50,
.MarginBottom = 50,
.TextHeader = New TextHeaderFooter() With {
.CenterText = "{pdf-title}",
.DrawDividerLine = True,
.FontSize = 16
},
.TextFooter = New TextHeaderFooter() With {
.LeftText = "{date} {time}",
.RightText = "Page {page} of {total-pages}",
.DrawDividerLine = True,
.FontSize = 14
},
.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
},
.LoginCredentials = New HttpLoginCredentials() With {
.NetworkUsername = "testUser",
.NetworkPassword = "testPassword"
}
}
Dim pdf = urlToPdf.RenderUrlAsPdf(uri)
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdfExample2.Pdf"))
Hinweis: Es wird die gleiche Anpassung verwendet wie beim ChromePdfRenderer Example2.
Das Ergebnis ist:
Generieren einer HTML-Site mit Anmeldeinformationen für eine PDF-Datei
Alles ist an seinem Platz. Ein Codebeispiel finden Sie unter IronPDFDemo.RenderUrlAsPdfDemo Projekt. Wenn Sie sich fragen, wie das Ergebnis ohne HttpLoginCredentials aussehen würde, hier ist es:
Erzeugen einer leeren PDF-Datei ohne Anmeldeinformationen
Siehe auch Jean's .NET HTML zu PDF Tutorial
Darüber hinaus kann IronPDF auch auf verschiedene Weise mit PDF interagieren:
9 .NET API-Produkte für Ihre Bürodokumente