10 .NET API-Produkte für Ihre Bürodokumente
Gesamtwert der Suite:
$7,192 USD
IronPDF konvertiert programmgesteuert HTML- in PDF-Dokumente.
Ein einfaches Beispiel für diese Technik kann heruntergeladen und als PDF-Beispiel angesehen werden.
Der Quellcode für diesen gesamten Artikel ist für C# als C# HTML to PDF Projekt-Quellcode-Download verfügbar.
Das folgende Tutorial führt Sie durch den Prozess der Verwendung von IronPDF als C# PDF Generator. Es behandelt die Grundlagen sowie viele fortgeschrittene C# PDF-Themen.
Diese Demo zeigt Ihnen anhand von Beispielen, wie Sie IronPDF verwenden können. Fordern Sie zusätzliche Anwendungsdemos von Iron Software an.
Die Demo besteht aus Hello World, RenderHtmlAsPdf
- und RenderUrlAsPdf
-Beispielen. Alle Beispiele finden Sie unter den entsprechenden Projekten der IronPDF Demo-Lösung.
Sie können IronPDF entweder über NuGet installieren. Der Paketname ist IronPDF NuGet Package.
Oder Sie können den Direkten Bibliotheks-Download verwenden.
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 Umwandlung einer Webseite in ein PDF
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 die Rechnungs-HTML im 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:
Generieren Sie eine PDF-Datei aus HTML
Sieht großartig aus! Das Codebeispiel finden Sie unter dem IronPDFDemo.RenderHtmlAdPdfDemo-Projekt.
Sehen Sie sich auch diese Frage an: Wie man HTML-Dokumente oder Strings mit Byte-Arrays in IronPDF verwendet
In diesem Abschnitt wird die resultierende PDF-Datei aus Beispiel 1 angepasst. So werden beispielsweise benutzerdefinierte Ränder, eine Kopfzeile mit einem Dokumententitel, eine Fußzeile mit einem Erstellungsdatum und Seitenzahlen sowie einige benutzerdefinierte CSS für den Medientyp "Drucken", den eine Standardrechnung hat, hinzugefügt. Hierfür wird eine Instanz von ChromePdfRenderOptions
initialisiert und in den Konstruktor von 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 festlegen:
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ßzeilenfunktionen beinhalten Zusammenführungsfunktionalität, was bedeutet, dass alle Zusammenführungsfelder ({page}, {total-pages}, {url}, {date}, {time}, {html-title}, {pdf-title}) mit den entsprechenden Daten befüllt werden können.
Der Rest des Codes ist derselbe wie in Beispiel 1. Das Ergebnis ist:
Erstellen Sie eine 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 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
Ohne Debuggen starten (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:
Generiere eine gehostete Webseite in eine PDF
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 befindet sich unter http
Der Zugriff auf http
Authentifizierung erforderliches Formular
Hinweis: Anmeldeinformationen sind "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: Die gleiche Anpassung wird verwendet wie für das ChromePdfRenderer Example2.
Das Ergebnis ist:
Erstellen Sie eine HTML-Seite mit Anmeldedaten 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:
Erstellen Sie eine leere PDF-Datei ohne Anmeldedaten
Siehe auch Jeans .NET HTML-zu-PDF-Tutorial
Darüber hinaus kann IronPDF auch auf verschiedene Weise mit PDF interagieren: