引言
在当今数字化文档处理场景中,动态操作pdf文档中的图像已成为企业级应用开发的核心需求之一。通过c#在.net平台实现图片的添加、替换和删除功能,不仅能显著提升pdf文档的视觉表现力与信息承载效率,更可满足数据动态更新、内容精准维护等复杂业务场景,为pdf文档的专业领域应用提供强有力的支持。本文 将介绍如何在.net平台使用c#代码在pdf文档中添加、删除和替换图片。
本文所使用的方法需要用到free spire.pdf for .net,nuget:pm> install-package freespire.pdf。
用c#添加图片到pdf文档
库中提供的pdfimage.fromfile()方法可以从文件载入图片,然后我们可以使用pdfpagebase.canvas.drawimage()方法,经图片绘制到pdf页面的指定位置。以下是操作步骤:
- 初始化
pdfdocument实例以新建或载入pdf文档。 - 使用
pdfdocument.pages.add()方法在pdf文档中新建一个页面。 - 使用
pdfimage.fromfile()方法载入图片。 - 指定绘制图片的其实位置坐标。
- 使用
pdfpagebase.canvas.drawimage()方法将图片绘制到页面上。 - 使用
pdfdocument.savetofile()方法保存pdf文档。 - 释放资源。
代码示例
using spire.pdf;
using spire.pdf.graphics;
namespace addimagetopdf
{
class program
{
static void main(string[] args)
{
// 创建pdfdocument实例
pdfdocument pdf = new pdfdocument();
// 添加一个页面到文档中
pdfpagebase page = pdf.pages.add(pdfpagesize.a4, new pdfmargins(20f, 50f));
// 载入图片
pdfimage image = pdfimage.fromfile("image.png");
// 指定图像绘制的起始点坐标
float x = (page.size.width - 40f) / 2 - image.width / 2;
float y = pdf.pagesettings.margins.top + 50;
// 将图片绘制到pdf页面上
page.canvas.drawimage(image, x, y, image.width, image.height);
// 保存pdf文档
pdf.savetofile("output/insertimagepdf.pdf");
pdf.dispose();
}
}
}
结果文档

用c#删除pdf文档中的图片
库中的pdfimagehelper类可以用来处理pdf页面上图片。先使用pdfimagehelper.getimagesinfo(pdfpagebase)[index]获取pdf页面上的指定图片,然后使用pdfimagehelper.deleteimage()将其删除。以下是操作步骤:
- 创建
pdfdocument对象,使用pdfdocument.loadfromfile()方法载入pdf文档。 - 使用
pdfdocument.pages[]属性获取指定页面。 - 创建
pdfimagehelper实例,使用pdfimagehelper.getimagesinfo(pdfpagebase)[index]获取pdf页面上的指定图片。 - 使用
pdfimagehelper.deleteimage()将图片删除。 - 使用
pdfdocument.savetofile()方法保存pdf文档。 - 释放资源。
代码示例
using spire.pdf;
using spire.pdf.graphics;
using spire.pdf.utilities;
using system.drawing;
namespace addimagetopdf
{
class program
{
static void main(string[] args)
{
// 创建pdfdocument实例
pdfdocument pdf = new pdfdocument();
// 载入pdf文档
pdf.loadfromfile("output/insertimagepdf.pdf");
// 获取图片所在页面
pdfpagebase page = pdf.pages[0];
// 创建pdfimagehelper对象
pdfimagehelper imagehelper = new pdfimagehelper();
// 获取该页面指定图片的信息
pdfimageinfo imageinfo = imagehelper.getimagesinfo(page)[0];
// 删除指定图片
imagehelper.deleteimage(imageinfo);
// 绘制提示文本
page.canvas.drawstring("image deleted.", new pdffont(pdffontfamily.helvetica, 16f), pdfbrushes.black, new pointf(imageinfo.bounds.x, imageinfo.bounds.y));
// 保存pdf文档
pdf.savetofile("output/deleteimagepdf.pdf");
pdf.dispose();
}
}
}
结果文档

用c#替换pdf文档中的图片
pdfimagehelper类还提供replaceimage(pdfimageinfo, pdfimage)方法来将pdf页面上的指定图片替换为新的图片。以下是操作步骤:
- 创建
pdfdocument对象,使用pdfdocument.loadfromfile()方法载入pdf文档。 - 使用
pdfdocument.pages[]属性获取指定页面。 - 创建
pdfimagehelper实例,使用pdfimagehelper.getimagesinfo(pdfpagebase)[index]获取pdf页面上的指定图片。 - 使用
pdfimage.fromfile()方法载入新的图片。 - 使用
pdfimagehelper.replaceimage()方法用新图片替换页面上的图片。 - 使用
pdfdocument.savetofile()方法保存pdf文档。 - 释放资源。
代码示例
using spire.pdf;
using spire.pdf.graphics;
using spire.pdf.utilities;
using system.drawing;
namespace addimagetopdf
{
class program
{
static void main(string[] args)
{
// 创建pdfdocument实例
pdfdocument pdf = new pdfdocument();
// 载入pdf文档
pdf.loadfromfile("output/insertimagepdf.pdf");
// 获取图片所在页面
pdfpagebase page = pdf.pages[0];
// 创建pdfimagehelper对象
pdfimagehelper imagehelper = new pdfimagehelper();
// 获取该页面指定图片的信息
pdfimageinfo imageinfo = imagehelper.getimagesinfo(page)[0];
// 载入新图片
pdfimage newimage = pdfimage.fromfile("g:/documents/image3.png");
// 使用新图片替换指定图片
imagehelper.replaceimage(imageinfo, newimage);
// 保存pdf文档
pdf.savetofile("output/replaceimagepdf.pdf");
pdf.dispose();
}
}
}
结果文档

本文演示如何使用c#在.net平台实现pdf文档中添加、删除和替换图片,提供步骤介绍和代码示例。
以上就是使用c#代码在pdf文档中添加、删除和替换图片的详细内容,更多关于c# pdf添加、删除和替换图片的资料请关注代码网其它相关文章!
发表评论