如何使用 IronPDF 在 C## 中为 PDF 添加图像
IronPDF 通过将包含图像标记的 HTML 转换为 PDF 文档,实现了将图像直接嵌入 PDF 的功能,从而创建了无需外部依赖性或互联网连接即可显示图像的独立文件。
快速入门:轻松将图像嵌入 PDF 文件
立即开始在 .NET C# 中使用 IronPDF 将图片嵌入 PDF 文件。 将您的图像转换为 Base64 字符串,并将其嵌入 HTML <img> 标签中,即可生成一个无需外部文件的自包含 PDF/A 文件。 这种方法可确保您的图像在没有互联网接入的情况下也能显示。
-
使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronPdf
PM > Install-Package IronPdf -
复制并运行这段代码。
new IronPdf.ChromePdfRenderer() .RenderHtmlAsPdf("<img src='data:image/png;base64," + Convert.ToBase64String(File.ReadAllBytes("logo.png")) + "'>") .SaveAs("image-embedded.pdf"); -
部署到您的生产环境中进行测试
通过免费试用立即在您的项目中开始使用IronPDF
最小工作流程(5 个步骤)
- [Download the IronPDF C# library](https://www.nuget.org/packages/IronPdf/)
- 准备要嵌入的图像文件
- 使用
img标记在 HTML 中嵌入图片 - 使用
RenderHtmlAsPdf方法将 HTML 渲染为 PDF - 使用 Base64 编码嵌入图像
如何在 PDF 中嵌入图片?
要在 PDF 中嵌入图片,首先需使用 <img> 标签将图片包含在 HTML 中。 然后使用 RenderHtmlAsPdf 方法将 HTML 转换为 PDF。 如果您已有一个现有的PDF,请使用图像印章或HTML印章教程将图像加盖到PDF文档上。 这种方法可与 IronPDF 的Chrome 渲染引擎配合使用。
为什么 RenderHtmlAsPdf 方法效果最佳?
RenderHtmlAsPdf 方法利用 IronPDF 的 Chrome 渲染引擎,将 HTML 内容(包括图片)转换为 PDF 格式,同时保留布局和样式。 这种方法支持响应式 CSS 布局,并确保图片能像在网络浏览器中显示的那样呈现。 对于复杂的布局,请参阅我们的像素完美的 HTML 格式化指南。
支持哪些图像格式?
通过 HTML 转换嵌入时,IronPDF 支持所有主流图像格式,包括 PNG、JPG、SVG、GIF 和 BMP。 该库可有效处理 SVG 图形,用于可缩放的矢量插图。 处理不同格式时,请确保您的 HTML 在 src 属性或 Base64 数据 URI 中正确指定了图像类型。
何时应使用直接 URL 与 Base64 编码?
如果图片是在线托管的,且文件大小是个问题,请使用直接 URL。 对于不需要互联网访问的独立 PDF,请选择 Base64 编码。 对于存储在云服务中的图像,请参阅我们的从 Azure Blob Storage 嵌入图像指南。 这一决定会影响生成 PDF 的文件大小和可移植性。
:path=/static-assets/pdf/content-code-examples/how-to/add-images-to-pdfs-embed-image.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
string html = @"<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>";
// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
// Export PDF
pdf.SaveAs("embedImage.pdf");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private html As String = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>"
' Render HTML to PDF
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
' Export PDF
pdf.SaveAs("embedImage.pdf")
如何使用 Base64 嵌入图片?
若要使用 Base64 将图像嵌入 HTML,首先需通过读取图像文件或网络请求获取图像的二进制数据。使用 .NET 中的 Convert.ToBase64String 方法将二进制数据转换为 Base64。在 HTML 中构建 image 标签时,需在 Base64 数据前添加 "data:image/svg+xml;base64,"。 请注意,图像类型是在 Base64 数据之前指定的。 访问MDN Web文档上的图像格式类型以获取有关图像格式类型的更多信息。
为什么对图像使用 Base64 编码?
Base64 编码可创建不依赖外部资源的独立 PDF,确保在没有互联网连接或原始图像文件被移动或删除的情况下始终显示图像。 当在 Blazor Server 应用程序中创建 PDF 或部署到外部文件访问可能受限的 Azure 时,此技术非常有用。 编码后的图像成为 HTML 字符串的一部分,因此非常适合 HTML 字符串到 PDF 的转换。
性能考虑因素有哪些?
Base64 编码会使文件大小增加约 33%,但消除了外部依赖性,因此非常适合存档或受限制的网络环境。 当性能至关重要时,可考虑使用 async PDF 生成来并发处理多个图像转换。 对于大规模操作,请参阅我们的性能优化指南,以最大限度地提高吞吐量。
如何处理大型图像文件?
对于大型图片,请在进行 Base64 编码之前对其进行压缩,以尽量减小 PDF 文件的大小,如果文件大小至关重要,则使用外部 URL。 IronPDF 提供PDF压缩功能,可将文件大小缩小 75%。 在处理多张图片时,请优化您的渲染设置,以实现质量和文件大小之间的最佳平衡。
:path=/static-assets/pdf/content-code-examples/how-to/add-images-to-pdfs-base64-image.cs
using IronPdf;
using System;
using System.IO;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Import image file binary data
byte[] binaryData = File.ReadAllBytes("ironpdf-logo-text-dotnet.svg");
// Convert the binary data to base 64
string imgDataUri = Convert.ToBase64String(binaryData);
// Embed in HTML
string html = $"<img src='data:image/svg+xml;base64,{imgDataUri}'>";
// Convert HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
// Export the PDF
pdf.SaveAs("embedImageBase64.pdf");
Imports IronPdf
Imports System
Imports System.IO
Private renderer As New ChromePdfRenderer()
' Import image file binary data
Private binaryData() As Byte = File.ReadAllBytes("ironpdf-logo-text-dotnet.svg")
' Convert the binary data to base 64
Private imgDataUri As String = Convert.ToBase64String(binaryData)
' Embed in HTML
Private html As String = $"<img src='data:image/svg+xml;base64,{imgDataUri}'>"
' Convert HTML to PDF
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
' Export the PDF
pdf.SaveAs("embedImageBase64.pdf")
准备好看看您还能做些什么吗? 点击此处查看我们的教程页面:附加功能。
常见问题解答
如何用 C# 在 PDF 文档中添加图像?
使用 IronPDF,您可以通过使用 标签将图片包含在 HTML 中,然后使用 RenderHtmlAsPdf 方法将 HTML 转换为 PDF,从而将图片添加到 PDF 中。这种方法利用了 IronPDF 的 Chrome 渲染引擎,可以准确地渲染 PDF 文档中的图片。
我可以在 PDF 中嵌入哪些图片格式?
通过 HTML 转换嵌入时,IronPDF 支持所有主流图像格式,包括 PNG、JPG、SVG、GIF 和 BMP。对于可缩放的矢量插图,该库能很好地处理 SVG 图形,确保您的图像能在生成的 PDF 中正确呈现。
图片应该使用直接 URL 还是 Base64 编码?
如果图片是在线托管的,且文件大小是个问题,请使用直接 URL。在创建不需要互联网访问的独立 PDF 时,选择 IronPDF 的 Base64 编码。Base64 编码可确保您的 PDF 显示图像而无需外部依赖性。
能否在现有 PDF 文件中添加图像?
是的,IronPDF 允许您使用图像标注器或 HTML 标注器为现有 PDF 添加图像。此功能可让您将图像覆盖到现有 PDF 文档中的特定页面或位置。
如何将图像转换为 Base64 以便嵌入 PDF?
将图片转换为 Base64 字符串,并使用数据 URI 直接嵌入 HTML 标签。然后,IronPDF 的 RenderHtmlAsPdf 方法将处理该 Base64 编码图像,并将其嵌入到您的 PDF 中,创建一个自包含的文档。
图片嵌入是否保留 CSS 样式和布局?
是的,IronPDF 的 Chrome 渲染引擎在将带图片的 HTML 转换为 PDF 时会保留 CSS 布局和样式。该库支持响应式 CSS 布局,可确保图片完全按照在网页浏览器中的显示效果呈现。

