当前位置: 代码网 > it编程>编程语言>Asp.net > 使用C#代码在PDF文档中添加、删除和替换图片

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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com