与仅使用文字创建的 PDF 文档相比,包含图片的 PDF 文档对读者无疑会有更大的吸引力。除了美化文档,我们还可以通过插入图片的方式来展示数据或表达用文字难以描述的内容,让复杂的数据、概念等内容更直观、更容易理解。本文将展示如何使用 Spire.PDF for .NET 通过程序在 PDF 文档中插入、替换或删除图片。
安装 Spire.PDF for .NET
首先,您需要添加 Spire.PDF for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.PDF
插入图片到 PDF 文档
使用 Spire.PDF for .NET 插入图片到 PDF 文档时,需要先用 PdfImage.FromFile() 方法载入图片文件,再用 PdfPageBase.Canvas.DrawImage() 方法将图片绘制在页面上的指定位置。详细操作步骤如下:
- 创建一个 PdfDocument 的对象。
- 使用 PdfDocument.LoadFromFile() 方法载入 PDF 文档。
- 使用 PdfDocument.Pages[] 属性获取指定页面。
- 使用 PdfImage.FromFile() 方法载入图片。
- 设置绘制图片的区域大小。
- 设置绘制图片的起始坐标。
- 使用 PdfPageBase.Canvas.DrawImage() 方法将图片绘制在页面上。
- 使用 PdfDocument.SaveToFile() 方法保存文档。
- C#
- VB.NET
using Spire.Pdf;
using Spire.Pdf.Graphics;
namespace InsertImage
{
class Program
{
static void Main(string[] args)
{
//创建一个PdfDocument的对象
PdfDocument pdf = new PdfDocument();
//载入PDF文档
pdf.LoadFromFile("示例文档.pdf");
//获取文档第一页
PdfPageBase page = pdf.Pages[0];
//载入图片
PdfImage image = PdfImage.FromFile("图片.jpg");
//设置绘制图片的区域大小
float width = image.Width;
float height = image.Height;
//设置绘制图片的初始位置
float x = page.ActualSize.Width/2 - image.Width/2;
float y = 180;
//将图片绘制在页面上
page.Canvas.DrawImage(image, x, y, width, height);
//保存文档
pdf.SaveToFile("插入图片.pdf", FileFormat.PDF);
}
}
}
Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Namespace InsertImage
Class Program
Shared Sub Main(ByVal args() As String)
'创建一个PdfDocument的对象
Dim pdf As PdfDocument = New PdfDocument()
'载入PDF文档
pdf.LoadFromFile("示例文档.pdf")
'获取文档第一页
Dim page As PdfPageBase = pdf.Pages(0)
'载入图片
Dim image As PdfImage = PdfImage.FromFile("图片.jpg")
'设置绘制图片的区域大小
Dim width As Single = image.Width
Dim height As Single = image.Height
'设置绘制图片的初始位置
Dim x As Single = page.ActualSize.Width / 2 - image.Width / 2
Dim y As Single = 180
'将图片绘制在页面上
page.Canvas.DrawImage(image, x, y, width, height)
'保存文档
pdf.SaveToFile("插入图片.pdf", FileFormat.PDF)
End Sub
End Class
End Namespace
替换 PDF 文档中的图片
Spire.PDF for .NET 提供 PdfImageHelper.ReplaceImage() 方法可以替换 PDF 文档中的图片。一下是用新图片替换 PDF 文档中的图片的详细操作步骤:
- 创建一个 PdfDocument 的对象。
- 使用 PdfDocument.LoadFromFile() 方法载入 PDF 文档。
- 使用 PdfDocument.Pages[] 属性获取文档第一页。
- 使用 PdfImage.FromFile() 方法载入图片。
- 创建 PdfImageHelper 的对象。
- 使用 PdfImageHelper.GetImagesInfo() 方法获取第一页的图片信息。
- 使用 PdfImageHelper.ReplaceImage() 方法替换页面第一张图片为载入的图片。
- 使用 PdfDocument.SaveToFile() 方法保存文档。
- C#
- VB.NET
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Utilities;
namespace ReplaceImage
{
class Program
{
static void Main(string[] args)
{
//创建一个PdfDocument的对象
PdfDocument doc = new PdfDocument();
//载入PDF文档
doc.LoadFromFile("插入图片.pdf");
//获取文档第一页
PdfPageBase page = doc.Pages[0];
//载入图片
PdfImage image = PdfImage.FromFile("图片一.jpg");
//创建一个PdfImageHelper的对象
PdfImageHelper imageHelper = new PdfImageHelper();
//获取第一页的图片信息
PdfImageInfo[] imageInfo = imageHelper.GetImagesInfo(page);
//用载入的图片替换第一页的第一张图片
imageHelper.ReplaceImage(imageInfo[0], image);
//保存文档
doc.SaveToFile("替换图片.pdf", FileFormat.PDF);
}
}
}
Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports Spire.Pdf.Utilities
Namespace ReplaceImage
Class Program
Shared Sub Main(ByVal args() As String)
'创建一个PdfDocument的对象
Dim doc As PdfDocument = New PdfDocument()
'载入PDF文档
doc.LoadFromFile("插入图片.pdf")
'获取文档第一页
Dim page As PdfPageBase = doc.Pages(0)
'载入图片
Dim image As PdfImage = PdfImage.FromFile("图片一.jpg")
'创建一个PdfImageHelper的对象
Dim imageHelper As PdfImageHelper = New PdfImageHelper()
'获取第一页的图片信息
Dim imageInfo() As PdfImageInfo = imageHelper.GetImagesInfo(page)
'用载入的图片替换第一页的第一张图片
imageHelper.ReplaceImage(imageInfo(0), image)
'保存文档
doc.SaveToFile("替换图片.pdf", FileFormat.PDF)
End Sub
End Class
End Namespace
删除 PDF 文档中的图片
Spire.PDF for .NET 提供了 PdfPageBase.DeleteImage() 方法来删除 PDF页面中的指定图片。删除图片的详细操作步骤如下:
- 创建一个 PdfDocument 的对象。
- 使用 PdfDocument.LoadFromFile() 方法载入 PDF 文档。
- 使用 PdfDocument.Pages[] 属性获取文档第一页。
- 使用 PdfPageBase.DeleteImage() 方法删除第一页第一张图片。
- 使用 PdfDocument.SaveToFile() 方法保存文档。
- C#
- VB.NET
using Spire.Pdf;
namespace DeleteImage
{
class Program
{
static void Main(string[] args)
{
//创建一个PdfDocument的对象
PdfDocument pdf = new PdfDocument();
//载入PDF文档
pdf.LoadFromFile("插入图片.pdf");
//获取第一页
PdfPageBase page = pdf.Pages[0];
//删除第一页的第一张图片
page.DeleteImage(0);
//保存文档
pdf.SaveToFile("删除图片.pdf", FileFormat.PDF);
}
}
}
Imports Spire.Pdf
Namespace DeleteImage
Class Program
Shared Sub Main(ByVal args() As String)
'创建一个PdfDocument的对象
Dim pdf As PdfDocument = New PdfDocument()
'载入PDF文档
pdf.LoadFromFile("插入图片.pdf")
'获取第一页
Dim page As PdfPageBase = pdf.Pages(0)
'删除第一页的第一张图片
page.DeleteImage(0)
'保存文档
pdf.SaveToFile("删除图片.pdf", FileFormat.PDF)
End Sub
End Class
End Namespace
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。