欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

使用C#代码在PDF文档中添加、删除和替换图片

2025年04月03日 Asp.net
引言在当今数字化文档处理场景中,动态操作pdf文档中的图像已成为企业级应用开发的核心需求之一。通过c#在.net平台实现图片的添加、替换和删除功能,不仅能显著提升pdf文档的视觉表现力与信息承载效率,

引言

在当今数字化文档处理场景中,动态操作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页面的指定位置。以下是操作步骤:

  1. 初始化pdfdocument实例以新建或载入pdf文档。
  2. 使用pdfdocument.pages.add()方法在pdf文档中新建一个页面。
  3. 使用pdfimage.fromfile()方法载入图片。
  4. 指定绘制图片的其实位置坐标。
  5. 使用pdfpagebase.canvas.drawimage()方法将图片绘制到页面上。
  6. 使用pdfdocument.savetofile()方法保存pdf文档。
  7. 释放资源。

代码示例

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()将其删除。以下是操作步骤:

  1. 创建pdfdocument对象,使用pdfdocument.loadfromfile()方法载入pdf文档。
  2. 使用pdfdocument.pages[]属性获取指定页面。
  3. 创建pdfimagehelper实例,使用pdfimagehelper.getimagesinfo(pdfpagebase)[index]获取pdf页面上的指定图片。
  4. 使用pdfimagehelper.deleteimage()将图片删除。
  5. 使用pdfdocument.savetofile()方法保存pdf文档。
  6. 释放资源。

代码示例

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页面上的指定图片替换为新的图片。以下是操作步骤:

  1. 创建pdfdocument对象,使用pdfdocument.loadfromfile()方法载入pdf文档。
  2. 使用pdfdocument.pages[]属性获取指定页面。
  3. 创建pdfimagehelper实例,使用pdfimagehelper.getimagesinfo(pdfpagebase)[index]获取pdf页面上的指定图片。
  4. 使用pdfimage.fromfile()方法载入新的图片。
  5. 使用pdfimagehelper.replaceimage()方法用新图片替换页面上的图片。
  6. 使用pdfdocument.savetofile()方法保存pdf文档。
  7. 释放资源。

代码示例

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添加、删除和替换图片的资料请关注代码网其它相关文章!