Embed Images with DataURIs in C# & VB PDF Rendering

This article was translated from English: Does it need improvement?
Translated
View the article in English

在处理HTML字符串和文档时,通常不依赖于资产目录是有用的。 为了解决这个问题,我们使用数据URI方案

数据URI方案是一种用于Web开发的方法,可以将数据直接嵌入到HTML或CSS代码中,无需单独的文件。 数据URIs允许将图像、文件甚至字体直接作为字符串注入到HTML文档中。

快速入门:使用DataURIs在PDF中嵌入图像

通过使用DataURIs和IronPDF轻松地将HTML内容转换为PDF文档。 本快速指南帮助开发人员使用简单、高效的代码渲染包含嵌入图像的PDF。 借助IronPDF,可以在保留图像完整性的同时,将HTML无缝转换为PDF。 让我们深入一个简单的示例,演示如何使用最少代码通过DataURI直接将图像嵌入到您的PDF文档中。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    new IronPdf.ChromePdfRenderer.StaticRenderHtmlAsPdf("<img src='data:image/png;base64,...' />").SaveAs("output.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最小化工作流程(5个步骤)

  1. 从NuGet下载IronPDF
  2. 使用ReadAllBytes方法读取图像字节
  3. 使用ToBase64String方法将字节转换为base64
  4. 在img标签中包含base64信息
  5. 将HTML渲染为PDF


基本图像嵌入示例

以下示例显示了无资产文件情况下图像嵌入HTML文档的渲染:

:path=/static-assets/pdf/content-code-examples/how-to/datauris-image.cs
using IronPdf;
using System;

// Read byte from image file
var pngBinaryData = System.IO.File.ReadAllBytes("My_image.png");

// Convert bytes to base64
var ImgDataURI = @"data:image/png;base64," + Convert.ToBase64String(pngBinaryData);

// Import base64 to img tag
var ImgHtml = $"<img src='{ImgDataURI}'>";

ChromePdfRenderer Renderer = new ChromePdfRenderer();

// Render the HTML string
var pdf = Renderer.RenderHtmlAsPdf(ImgHtml);

pdf.SaveAs("datauri_example.pdf");
Imports IronPdf
Imports System

' Read byte from image file
Private pngBinaryData = System.IO.File.ReadAllBytes("My_image.png")

' Convert bytes to base64
Private ImgDataURI = "data:image/png;base64," & Convert.ToBase64String(pngBinaryData)

' Import base64 to img tag
Private ImgHtml = $"<img src='{ImgDataURI}'>"

Private Renderer As New ChromePdfRenderer()

' Render the HTML string
Private pdf = Renderer.RenderHtmlAsPdf(ImgHtml)

pdf.SaveAs("datauri_example.pdf")
$vbLabelText   $csharpLabel

我们也可以通过IronPDF的ASP.NET MVC集成,将整个HTML字符串或PDF文档作为字节数组服务

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 16,154,058 | 版本: 2025.11 刚刚发布