JavaScript in HTML zu PDF
IronPDF ermöglicht es Benutzern, PDF-Dateien aus HTML-Inhalten zu erstellen, aber es ist nicht nur reiner HTML-Inhalt, der in PDF konvertiert werden kann; es kann auch HTML mit benutzerdefiniertem CSS und JavaScript konvertieren. Durch die Verwendung von JavaScript im HTML-Inhalt können beispielsweise Assets wie Bilder direkt innerhalb des HTML-Strings eingebettet werden, anstatt sie als externe Assets zu laden. Alles, was Sie dafür benötigen, ist die ChromePdfRenderer
-Klasse und deren RenderingOptions
-Eigenschaft.
5 Steps to Rendering HTML with JavaScript to PDF in C#
const string htmlWithJavaScript = "...."
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.JavaScript();
var pdfJavaScript = renderer.RenderHtmlAsPdf(htmlWithJavaScript);
Innerhalb der Zeichenfolgenvariablen haben wir eine HTML-Zeichenfolge erstellt, die das JavaScript-<script>
-Tag enthält, das den JavaScript-Code enthalten wird, der zum Erstellen unseres PDFs verwendet wird. Durch die Verwendung des script-Tags haben wir angegeben, welcher Abschnitt der Zeichenfolge JavaScript ist, der später mithilfe der RenderingOptions-Eigenschaft aktiviert wird. Damit können Sie Bilder einbetten, Interaktivität im gerenderten PDF beibehalten und mehr.
Mit new ChromePdfRenderer();
instanziieren wir eine neue Instanz der ChromePdfRenderer-Klasse, die die Wiedergabe von HTML-Inhalt zu PDF steuert. Mit dieser Klasse können Sie sicher sein, dass Ihre gerenderten PDF-Dateien pixelgenau sind, einschließlich aller benutzerdefinierten JavaScript- oder CSS-Inhalte, die im Endergebnis beibehalten werden.
Verwenden Sie als Nächstes die RenderingOptions
-Eigenschaft innerhalb der ChromePdfRenderer-Klasse, um das Ausführen von JavaScript zu ermöglichen, bevor das neue PDF gerendert wird. Die Zeile RenderingOptions.WaitFor
stellt sicher, dass das Programm wartet, bis das JavaScript die Ausführung beendet hat, bevor es mit dem Rendering-Prozess fortfährt. Das Rendering beginnt, sobald der JavaScript-Code die window.ironpdf.notifyRender()
-Methode ausgeführt hat. Die Eigenschaft RenderingOptions wird der ChromePdfRenderer-Instanz, die wir erstellt haben, zugewiesen, sodass die Optionen für jedes mit diesem Renderer erstellte PDF verwendet werden.
Die Methode renderer.RenderHtmlAsPdf(...)
übernimmt das eigentliche Rendern des PDF-Dokuments. Indem wir den HTML-String mit dem JavaScript an diese Methode übergeben, können wir ihn als qualitativ hochwertigen PDF rendern, der alle HTML- und JavaScript-Elemente enthält. Dies wird in einem neuen PdfDocument
-Objekt gespeichert, das das neu gerenderte PDF speichert, das in diesem Fall pdfJavaScript genannt wird. Schließlich können wir dieses neue PDF mit der SaveAs
-Methode speichern.
Klicken Sie hier, um den Leitfaden mit Beispielen, Muster-Code und Dateien anzusehen.