Intégrer des bitmaps et des images
Lorsque vous souhaitez intégrer une image dans du HTML en utilisant l'encodage base64, vous devez obtenir les données binaires de l'image soit en lisant le fichier image, soit en le recevant via une requête réseau. Comme vous pouvez le voir, dans cet exemple, nous avons importé l'image que nous voulons utiliser et acquis ses données binaires. Ensuite, en utilisant la méthode Convert.ToBase64String
, nous avons réussi à la convertir en base64. Grâce à cette méthode, vous pourrez ajouter vos images à tout contenu HTML que vous utilisez pour générer des documents PDF.
Étapes pour intégrer des bitmaps et des images
- byte[] pngBinaryData = File.ReadAllBytes("utilisez votre image ici");
- byte[] base64Bytes = new byte[3];
- chaîne imgDataUri = @"data:image/png;base64," + Convert.ToBase64String(base64Bytes);
- string imgHtml = $"<img src='{imgDataUri}'>";
-
PdfDocument pdf = renderer.RenderHtmlAsPdf(imgHtml);
Avant de pouvoir intégrer des images dans nos documents PDF, nous devons d'abord créer une nouvelle instance de
ChromePdfRenderer
. Ce moteur de rendu est capable de produire des fichiers PDF de haute qualité à partir de contenu tel que des chaînes HTML, des fichiers HTML, des URL, etc. Une fois que nous avons créé notre moteur de rendu, nous devons maintenant charger l'image que nous voulons intégrer. Pour ce faire, vous devrez utiliser la méthodeFile.ReadAllBytes
pour lire le contenu du fichier image fourni dans un tableau d'octets.Ensuite, nous initialisons un tableau d'octets de remplacement nommé base64Bytes pour représenter les données de l'image.
Convert.ToBase64String(base64Bytes)
est ensuite utilisé pour convertir le tableau base64Bytes en une chaîne encodée en Base64. Nous allons ensuite préfixer le résultat avec un schéma URI de données standard pour les images PNG, "data:image/png;base64,". Maintenant, nous devons créer la chaîne HTML qui sera utilisée pour créer le document PDF. Dans cette chaîne, nous avons créé une balise d'image, où l'attributsrc
utilise l'URI de données de l'image en base64 que nous avons créée à l'étape précédente. Cela intégrera notre image dans la chaîne HTML, et par conséquent dans notre document PDF.L'étape suivante consiste à rendre la chaîne HTML en PDF. Pour cela, vous devez utiliser la méthode
RenderHtmlAsPdf
, qui est accessible via le rendu. En passant la chaîne HTML par cette méthode, elle convertira le HTML en PDF et stockera le fichier PDF résultant dans l'objetPdfDocument
. Enfin, vous pouvez enregistrer le PDF rendu en utilisant la méthodeSaveAs
. Cliquez ici pour voir le guide pratique, y compris des exemples, du code d'exemple et des fichiers.