Bitmaps und Bilder einbetten
Wenn Sie ein Bild in HTML mithilfe der Base64-Codierung einbetten möchten, müssen Sie die Binärdaten des Bildes entweder durch das Lesen der Bilddatei oder den Empfang über eine Netzwerkanfrage erhalten. Wie Sie sehen können, haben wir in diesem Beispiel das Bild importiert, das wir verwenden möchten, und seine Binärdaten erworben. Dann haben wir mit der Methode Convert.ToBase64String
erfolgreich in Base64 konvertiert. Durch diese Methode werden Sie in der Lage sein, Ihre Bilder zu jedem HTML-Inhalt hinzuzufügen, den Sie zur Erstellung von PDF-Dokumenten verwenden.
Schritte zum Einbetten von Bitmaps und Bildern
- byte[] pngBinaryData = File.ReadAllBytes("verwenden Sie hier Ihr Bild");
- byte[] base64Bytes = new byte[3];
- string imgDataUri = @"data:image/png;base64," + Convert.ToBase64String(base64Bytes);
- string imgHtml = $"<img src='{imgDataUri}'>";
-
PdfDocument pdf = renderer.RenderHtmlAsPdf(imgHtml);
Bevor wir Bilder in unsere PDF-Dokumente einbetten können, müssen wir zunächst eine neue
ChromePdfRenderer
-Instanz erstellen. Diese Rendering-Engine ist in der Lage, hochwertige PDF-Dateien aus Inhalten wie HTML-Strings, HTML-Dateien, URLs und mehr zu erstellen. Sobald wir unseren Renderer erstellt haben, müssen wir das Bild laden, das wir einbetten möchten. Um dies zu tun, müssen Sie die MethodeFile.ReadAllBytes
verwenden, um den Inhalt der bereitgestellten Bilddatei in ein Byte-Array zu lesen.Als Nächstes initialisieren wir ein Platzhalter-Byte-Array namens base64Bytes, um die Bilddaten darzustellen.
Convert.ToBase64String(base64Bytes)
wird dann verwendet, um das base64Bytes-Array in einen Base64-kodierten String umzuwandeln. Wir werden das Ergebnis dann mit einem Standard-Daten-URI-Schema für PNG-Bilder voranstellen: "data:image/png;base64,". Nun müssen wir den HTML-String erstellen, der zur Erstellung des PDF-Dokuments verwendet wird. In diesem String haben wir ein Bild-Tag erstellt, bei dem dassrc
-Attribut die im vorherigen Schritt erstellte Base64-Bilddaten-URI verwendet. Dadurch wird unser Bild in den HTML-String und somit in unser PDF-Dokument eingebettet.Der nächste Schritt besteht darin, den HTML-String in ein PDF zu rendern. Hierfür müssen Sie die
RenderHtmlAsPdf
-Methode verwenden, die über den Renderer aufgerufen wird. Indem Sie den HTML-String durch diese Methode leiten, wird das HTML in PDF umgewandelt und die resultierende PDF-Datei imPdfDocument
-Objekt gespeichert. Schließlich können Sie das gerenderte PDF mit derSaveAs
-Methode speichern. Klicken Sie hier, um den Leitfaden anzusehen, einschließlich Beispielen, Beispielcode und Dateien.