使用IRONPDF

C# 将图像添加到 PDF(开发者教程)

介绍

从开发人员的角度来看,在 PDF 文档中以编程方式添加图像是一项具有挑战性的任务,因为图像格式多种多样,而且操作起来非常复杂。 因此,建议使用 IronPDF C# 库以编程方式将图像添加到 PDF 文档中。 让我们来探讨一下什么是 IronPDF 以及如何有效地使用它。

IronPDF: C# PDF 库

IronPDF C# 库是一个用 C# 编写的 PDF 库,以 PDF 对象模型为目标。 该库为开发人员提供了一种创建、编辑和保存 PDF 文件的方法,而无需严格保持与特定 API(如 Adobe 的 Acrobat)的相关性。 当您不想使用 Adobe Acrobat 或其他单个软件时,可以使用 IronPDF C# 库。

该库为开发人员提供了许多工具,用于创建、使用 C# 编辑 PDF 文件,并保存 PDF 文件,以及其他 .NET PDF 库未提供的功能。 许多开发人员更喜欢使用IronPDF C#库,因为它在Windows、Linux和macOS平台上提供了他们在PDF库中寻找的一切,并且完全免费! IronPDF 不断增加功能和扩展服务,使其成为满足您 PDF 需求的最佳实用工具。 该库不仅满足基本要求,还特别适合需要浏览、搜索、查找、提取PDF文件中的数据或创建PDF文件的用户。 让我们来看看 IronPDF 是如何用于在 PDF 文档中添加图片的。

创建或打开C#项目

要在 PDF 文档中添加图像,建议使用最新版本的 Visual Studio 创建 C# 项目,以获得流畅的体验。

  • 打开 Visual Studio。

    如何在 PDF 中使用 C# 添加图像,图 1:Visual Studio 启动界面

    Visual Studio 启动 UI

  • 点击“创建新项目”按钮。
  • 从项目模板中选择“C# 控制台应用程序”,然后点击下一步按钮。 您可以根据自己的需要选择平台。

    如何在PDF中使用C#添加图像,图2:在Visual Studio中创建控制台应用程序

    在 Visual Studio 中创建控制台应用程序

  • 接下来,为您的项目命名,然后点击下一步按钮。
  • 选择目标 .NET Framework >= .NET Core 3.1 版本并点击创建按钮。

    按照上述步骤,您就能轻松创建一个新的 C# 项目。 您可以使用已有的 C# 项目。 只需打开项目并安装 IronPDF 库即可。

安装 IronPDF 库

IronPDF 库可以通过多种方式安装。

  • 使用 NuGet 包管理器
  • 使用包管理器控制台

使用 NuGet 软件包管理器

要使用 NuGet 包管理器安装该库,请按照以下步骤操作:

  • 从主菜单选项中转到工具 > NuGet 包管理器 > 管理解决方案的 NuGet 包

    如何使用C#在PDF中添加图像,图3:导航至NuGet包管理器

    导航到NuGet包管理器

  • 这将打开 NuGet 包管理器窗口。 转到浏览选项卡,搜索 IronPDF。 选择 IronPdf 库并点击 "安装 "按钮。

    如何在 PDF 中添加图像使用 C#,图 4:从 NuGet 包管理器安装 IronPdf 软件包

    从 NuGet 软件包管理器安装 IronPDF 软件包

使用软件包管理器控制台

以下是使用控制台安装 IronPDF 库的步骤。

  • 转到包管理器控制台(通常位于 Visual Studio 的底部)。
  • 编写以下命令启动 IronPDF 库的安装。
Install-Package IronPdf

它将开始安装,您可以看到安装进度。 安装完成后,您将能很快在项目中使用 IronPDF 库。

如何使用C#在PDF中添加图片,图5:


库已经安装完毕,现在是编写代码将图像添加到 PDF 文档的时候了。 从导入 IronPDF 命名空间开始。 因此,请在代码文件中编写以下一行:

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

在 PDF 文档中添加位图和图像

使用IronPDF有多种方法可以将图像添加到PDF文档中:使用直接图像文件、将图像转换为字节,或使用System.Drawing.Bitmap。 此外,IronPDF 库支持多种图像格式。

让我们来看看:

using IronPdf;
using System.IO;
using System.Drawing;
/* Example 1: From an Image File or Bytes*/

static void Main(string [] args)
{
    var renderer = new IronPdf.ChromePdfRenderer();

    var pngBinaryData = File.ReadAllBytes("embed_me.png");

    var ImgDataURI = @"data:image/png;base64," + Convert.ToBase64String(base64bytes);
    var ImgHtml = $"<img src='{ImgDataURI}'>";

    using var pdfdoc = renderer.RenderHtmlAsPdf(ImgHtml);
    pdfdoc.SaveAs("embeded_example_1.pdf");
}
using IronPdf;
using System.IO;
using System.Drawing;
/* Example 1: From an Image File or Bytes*/

static void Main(string [] args)
{
    var renderer = new IronPdf.ChromePdfRenderer();

    var pngBinaryData = File.ReadAllBytes("embed_me.png");

    var ImgDataURI = @"data:image/png;base64," + Convert.ToBase64String(base64bytes);
    var ImgHtml = $"<img src='{ImgDataURI}'>";

    using var pdfdoc = renderer.RenderHtmlAsPdf(ImgHtml);
    pdfdoc.SaveAs("embeded_example_1.pdf");
}
Imports IronPdf
Imports System.IO
Imports System.Drawing
' Example 1: From an Image File or Bytes

Shared Sub Main(ByVal args() As String)
	Dim renderer = New IronPdf.ChromePdfRenderer()

	Dim pngBinaryData = File.ReadAllBytes("embed_me.png")

	Dim ImgDataURI = "data:image/png;base64," & Convert.ToBase64String(base64bytes)
	Dim ImgHtml = $"<img src='{ImgDataURI}'>"

	Dim pdfdoc = renderer.RenderHtmlAsPdf(ImgHtml)
	pdfdoc.SaveAs("embeded_example_1.pdf")
End Sub
$vbLabelText   $csharpLabel

该程序将首先加载图像。上面的代码中,ReadAllBytes 函数将图像转换为字节格式。 之后,图像数据将被编码为 base64,并以字符串的形式放入 HTML 标签中。 接下来,将使用RenderHtmlAsPdf方法函数将HTML字符串呈现为PDF。 它将在 PDF 文档中创建一个 PDF 页面。

下一个示例将展示如何在 PDF 文档中使用位图图像。 IronPDF 有一个有益的方法,可以将 System.Drawing.Image 嵌入到 HTML 文档中,然后可以将其渲染为 PDF。 访问以下ImageUtilities API以了解更多信息。 下面的代码将展示它是如何工作的:

/* Example 2: From a System.Drawing.Bitmap */

//System.Drawing.BitMap MyImage

string DataURI =  IronPdf.Util.ImageToDataUri(MyImage);
var ImgHtml = $"<img src='{DataURI}'>";
using var pdfdoc2 = renderer.RenderHtmlAsPdf(ImgHtml);
pdfdoc2.SaveAs("emeded_example_2.pdf");
/* Example 2: From a System.Drawing.Bitmap */

//System.Drawing.BitMap MyImage

string DataURI =  IronPdf.Util.ImageToDataUri(MyImage);
var ImgHtml = $"<img src='{DataURI}'>";
using var pdfdoc2 = renderer.RenderHtmlAsPdf(ImgHtml);
pdfdoc2.SaveAs("emeded_example_2.pdf");
' Example 2: From a System.Drawing.Bitmap 

'System.Drawing.BitMap MyImage

Dim DataURI As String = IronPdf.Util.ImageToDataUri(MyImage)
Dim ImgHtml = $"<img src='{DataURI}'>"
Dim pdfdoc2 = renderer.RenderHtmlAsPdf(ImgHtml)
pdfdoc2.SaveAs("emeded_example_2.pdf")
$vbLabelText   $csharpLabel

在上面的代码中,ImageToDataUri 函数用于将其转换为 URI,然后操作员使用 RenderHtmlAsPdf 函数将图像绘制到 PDF 文档。 这适用于多张图片。

此外,IronPDF 还能够在 PDF 中渲染图表将条形码添加到 PDF 文档通过密码增强 PDF 安全性为 PDF 文件添加水印,甚至可以以编程方式处理 PDF 表单

许可

IronPDF 是一款优秀的 PDF 库,可协助您创建和定制 PDF 文件,现在就可以购买。 不过,IronPDF 完全免费,可用于开发目的。 您还可以在不提供任何付款信息的情况下激活免费试用版以进行生产。 购买 IronPDF 后,Iron Software 为您提供了一个绝佳的优惠,只需花两个软件包的价格即可购买五个 Iron Software 软件包。 是的! 您没有听错--您只需支付两套产品的价格,即可购买一套包含五种 Iron Software 产品的套件。 立即购买! 请访问IronPDF许可页面以获取更多详情。

Chipego
软件工程师
Chipego 拥有出色的倾听技巧,这帮助他理解客户问题并提供智能解决方案。他在 2023 年加入 Iron Software 团队,此前他获得了信息技术学士学位。IronPDF 和 IronOCR 是 Chipego 主要专注的两个产品,但他对所有产品的了解每天都在增长,因为他不断找到支持客户的新方法。他喜欢 Iron Software 的合作氛围,公司各地的团队成员贡献他们丰富的经验,以提供有效的创新解决方案。当 Chipego 离开办公桌时,你经常可以发现他在看书或踢足球。
< 前一页
如何使用C#在PDF中添加页码
下一步 >
如何将图像合并成一个PDF