设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间14 现在时间14 缓存数据 “你总爱编织谎言,我总是配合表演。”

“你总爱编织谎言,我总是配合表演。” -- 配合

查看: 596|回复: 0

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

[复制链接]

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
33
主题
27
精华
0
金钱
97
积分
60
注册时间
2023-10-4
最后登录
2025-6-1

发表于 2025-6-1 05:36:34 | 显示全部楼层 |阅读模式
引言

在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一。通过C#在.NET平台实现图片的添加、替换和删除功能,不仅能显著提升PDF文档的视觉表现力与信息承载效率,更可满足数据动态更新、内容精准维护等复杂业务场景,为PDF文档的专业领域应用提供强有力的支持。本文 将介绍如何在.NET平台使用C#代码在PDF文档中添加、删除和替换图片。
本文所使用的方法需要用到Free Spire.PDF for .NET,NuGet:
  1. PM> Install-Package FreeSpire.PDF
复制代码


用C#添加图片到PDF文档

库中提供的
  1. PdfImage.FromFile()
复制代码
方法可以从文件载入图片,然后我们可以使用
  1. PdfPageBase.Canvas.DrawImage()
复制代码
方法,经图片绘制到PDF页面的指定位置。以下是操作步骤:

  • 初始化
    1. PdfDocument
    复制代码
    实例以新建或载入PDF文档。
  • 使用
    1. PdfDocument.Pages.Add()
    复制代码
    方法在PDF文档中新建一个页面。
  • 使用
    1. PdfImage.FromFile()
    复制代码
    方法载入图片。
  • 指定绘制图片的其实位置坐标。
  • 使用
    1. PdfPageBase.Canvas.DrawImage()
    复制代码
    方法将图片绘制到页面上。
  • 使用
    1. PdfDocument.SaveToFile()
    复制代码
    方法保存PDF文档。
  • 释放资源。
代码示例
  1. using Spire.Pdf;
  2. using Spire.Pdf.Graphics;

  3. namespace AddImageToPDF
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             // 创建PdfDocument实例
  10.             PdfDocument pdf = new PdfDocument();

  11.             // 添加一个页面到文档中
  12.             PdfPageBase page = pdf.Pages.Add(PdfPageSize.A4, new PdfMargins(20f, 50f));

  13.             // 载入图片
  14.             PdfImage image = PdfImage.FromFile("Image.png");

  15.             // 指定图像绘制的起始点坐标
  16.             float x = (page.Size.Width - 40f) / 2 - image.Width / 2;
  17.             float y = pdf.PageSettings.Margins.Top + 50;

  18.             // 将图片绘制到PDF页面上
  19.             page.Canvas.DrawImage(image, x, y, image.Width, image.Height);

  20.             // 保存PDF文档
  21.             pdf.SaveToFile("output/InsertImagePDF.pdf");
  22.             pdf.Dispose();
  23.         }
  24.     }
  25. }
复制代码
结果文档
1.png


用C#删除PDF文档中的图片

库中的
  1. PdfImageHelper
复制代码
类可以用来处理PDF页面上图片。先使用
  1. PdfImageHelper.GetImagesInfo(PdfPageBase)[Index]
复制代码
获取PDF页面上的指定图片,然后使用
  1. PdfImageHelper.DeleteImage()
复制代码
将其删除。以下是操作步骤:

  • 创建
    1. PdfDocument
    复制代码
    对象,使用
    1. PdfDocument.LoadFromFile()
    复制代码
    方法载入PDF文档。
  • 使用
    1. PdfDocument.Pages[]
    复制代码
    属性获取指定页面。
  • 创建
    1. PdfImageHelper
    复制代码
    实例,使用
    1. PdfImageHelper.GetImagesInfo(PdfPageBase)[Index]
    复制代码
    获取PDF页面上的指定图片。
  • 使用
    1. PdfImageHelper.DeleteImage()
    复制代码
    将图片删除。
  • 使用
    1. PdfDocument.SaveToFile()
    复制代码
    方法保存PDF文档。
  • 释放资源。
代码示例
  1. using Spire.Pdf;
  2. using Spire.Pdf.Graphics;
  3. using Spire.Pdf.Utilities;
  4. using System.Drawing;

  5. namespace AddImageToPDF
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             // 创建PdfDocument实例
  12.             PdfDocument pdf = new PdfDocument();

  13.             // 载入PDF文档
  14.             pdf.LoadFromFile("output/InsertImagePDF.pdf");

  15.             // 获取图片所在页面
  16.             PdfPageBase page = pdf.Pages[0];

  17.             // 创建PdfImageHelper对象
  18.             PdfImageHelper imageHelper = new PdfImageHelper();

  19.             // 获取该页面指定图片的信息
  20.             PdfImageInfo imageInfo = imageHelper.GetImagesInfo(page)[0];

  21.             // 删除指定图片
  22.             imageHelper.DeleteImage(imageInfo);

  23.             // 绘制提示文本
  24.             page.Canvas.DrawString("Image deleted.", new PdfFont(PdfFontFamily.Helvetica, 16f), PdfBrushes.Black, new PointF(imageInfo.Bounds.X, imageInfo.Bounds.Y));

  25.             // 保存PDF文档
  26.             pdf.SaveToFile("output/DeleteImagePDF.pdf");
  27.             pdf.Dispose();
  28.         }
  29.     }
  30. }
复制代码
结果文档
2.png


用C#替换PDF文档中的图片
  1. PdfImageHelper
复制代码
类还提供
  1. ReplaceImage(PdfImageInfo, PdfImage)
复制代码
方法来将PDF页面上的指定图片替换为新的图片。以下是操作步骤:

  • 创建
    1. PdfDocument
    复制代码
    对象,使用
    1. PdfDocument.LoadFromFile()
    复制代码
    方法载入PDF文档。
  • 使用
    1. PdfDocument.Pages[]
    复制代码
    属性获取指定页面。
  • 创建
    1. PdfImageHelper
    复制代码
    实例,使用
    1. PdfImageHelper.GetImagesInfo(PdfPageBase)[Index]
    复制代码
    获取PDF页面上的指定图片。
  • 使用
    1. PdfImage.FromFile()
    复制代码
    方法载入新的图片。
  • 使用
    1. PdfImageHelper.ReplaceImage()
    复制代码
    方法用新图片替换页面上的图片。
  • 使用
    1. PdfDocument.SaveToFile()
    复制代码
    方法保存PDF文档。
  • 释放资源。
代码示例
  1. using Spire.Pdf;
  2. using Spire.Pdf.Graphics;
  3. using Spire.Pdf.Utilities;
  4. using System.Drawing;

  5. namespace AddImageToPDF
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             // 创建PdfDocument实例
  12.             PdfDocument pdf = new PdfDocument();

  13.             // 载入PDF文档
  14.             pdf.LoadFromFile("output/InsertImagePDF.pdf");

  15.             // 获取图片所在页面
  16.             PdfPageBase page = pdf.Pages[0];

  17.             // 创建PdfImageHelper对象
  18.             PdfImageHelper imageHelper = new PdfImageHelper();
  19.             // 获取该页面指定图片的信息
  20.             PdfImageInfo imageInfo = imageHelper.GetImagesInfo(page)[0];

  21.             // 载入新图片
  22.             PdfImage newImage = PdfImage.FromFile("G:/Documents/Image3.png");

  23.             // 使用新图片替换指定图片
  24.             imageHelper.ReplaceImage(imageInfo, newImage);

  25.             // 保存PDF文档
  26.             pdf.SaveToFile("output/ReplaceImagePDF.pdf");
  27.             pdf.Dispose();
  28.         }
  29.     }
  30. }
复制代码
结果文档
3.jpeg

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表