提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:吉炜炜|2025-10-10 11:01:57.020|阅读 63 次
概述:PDF(可移植文档格式)因其在跨平台环境下保持一致的布局和格式而被广泛用于文档共享、分发和存档。在PDF 文档开发过程中,开发者常常需要通过程序对 PDF 文件进行编辑操作,例如替换文本、插入图片、添加水印或提取页面等。在本教程中,你将学习如何使用 Spire.PDF for .NET 库通过编程方式在 C# 中编辑 PDF 文件。
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
相关链接:
PDF(可移植文档格式)因其在跨平台环境下保持一致的布局和格式而被广泛用于文档共享、分发和存档。在PDF 文档开发过程中,开发者常常需要通过程序对 PDF 文件进行编辑操作,例如替换文本、插入图片、添加水印或提取页面等。
在本教程中,你将学习如何使用 Spire.PDF for .NET 库通过编程方式在 C# 中编辑 PDF 文件。
加入Spire技术交流QQ群(125237868),与更多开发者一起提升文档开发技能。
尽管 Adobe Acrobat 等工具提供手动编辑 PDF 的功能,但通过 C# 编程方式编辑 PDF 有显著优势:
Spire.PDF for .NET 是一个功能强大的 .NET PDF 库,可让开发者在 .NET 应用中生成、读取、编辑和转换 PDF 文件,支持 .NET Framework 和 .NET Core。
该库为开发者提供了丰富的PDF操作功能:
在 C# 中修改 PDF 文件通常涉及以下步骤:创建项目、安装库、加载 PDF、进行必要修改、保存文档。以下是每一步的详细说明。
在开始编辑 PDF 之前,需要创建一个新的 C# 项目:
接下来,需要安装 Spire.PDF 库,它提供读取、编辑和保存 PDF 所需的全部功能。
可以通过 NuGet 包管理器控制台安装:
Install-Package Spire.PDF
或者通过 NuGet 包管理器 GUI 搜索 Spire.PDF 并点击安装。
在对已有 PDF 文件进行修改之前,需要先将其加载到 PdfDocument 对象中,以便访问文档的页面、文本和图片等内容。
using Spire.Pdf;
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("示例.pdf");
编辑文本、插入图片、管理页面和添加水印是 PDF 开发中的常见操作。下面将逐一介绍这些操作,并附上示例代码说明。
文本编辑是 PDF 中最常见的操作。你可以选择替换已有文本或在特定页面添加新文本。
替换已有文本:
在 PDF 中替换文本可以针对单页或整个文档更新内容,同时保持原有格式不变。使用 PdfTextReplacer 类,可快速实现文本的查找与替换操作:
// 获取第一页
PdfPageBase page = pdf.Pages[0];
// 创建 PdfTextReplacer 对象
PdfTextReplacer textReplacer = new PdfTextReplacer(page);
// 将所有目标文本替换为新文本
textReplacer.ReplaceAllText("旧文本", "新文本");
添加新文本:
除了替换已有文本,还可以在 PDF 页面任意位置添加新文本,只需一行代码:
page.Canvas.DrawString(
"你好,世界!",
new PdfTrueTypeFont(new Font("宋体", 15f, FontStyle.Bold), true),
new PdfSolidBrush(Color.Black),
90, 30
);
PDF 文档中通常包含视觉元素,如徽标、图表或插图。开发者可以在PDF中插入新图片,或者更新旧图片以增强文档的视觉效果。
插入图片:
// 加载图片
PdfImage image = PdfImage.FromFile("logo.png");
// 在指定位置绘制图片,并设置大小
page.Canvas.DrawImage(image, 100, 150, 200, 100);
更新图片:
// 加载新图片
PdfImage newImage = PdfImage.FromFile("image1.jpg");
// 创建 PdfImageHelper 实例
PdfImageHelper imageHelper = new PdfImageHelper();
// 获取页面上的图片信息
PdfImageInfo[] imageInfo = imageHelper.GetImagesInfo(page);
// 用新图片替换页面上的第一张图片
imageHelper.ReplaceImage(imageInfo[0], newImage);
页面管理是 PDF 编辑的另一个重要方面,包括添加新页面、删除不需要的页面,以及将特定页面提取到新文档。
添加新页面:
// 添加新页面 PdfPageBase newPage = pdf.Pages.Add();删除页面:
// 删除最后一页 pdf.Pages.RemoveAt(pdf.Pages.Count - 1);提取页面到新文档:
// 创建新 PDF 文档
PdfDocument newPdf = new PdfDocument();
// 将原文档的第三页提取到新 PDF
newPdf.InsertPage(pdf, pdf.Pages[2]);
// 保存新 PDF
newPdf.SaveToFile("提取页面.pdf");
在 PDF 中添加水印可帮助标识机密信息、添加品牌或保护知识产权。开发者可以通过代码在任意页面上轻松添加水印:
// 遍历 PDF 文档的每一页
foreach (PdfPageBase page in pdf.Pages)
{
// 创建一个平铺画刷(Tiling Brush),尺寸为页面宽度的一半,高度为页面高度的三分之一
PdfTilingBrush brush = new PdfTilingBrush(
new SizeF(page.Canvas.ClientSize.Width / 2, page.Canvas.ClientSize.Height / 3));
// 设置透明度为 0.3,使水印半透明
brush.Graphics.SetTransparency(0.3f);
// 保存当前图形状态,方便后续恢复
brush.Graphics.Save();
// 将坐标原点移动到画刷中心
brush.Graphics.TranslateTransform(brush.Size.Width / 2, brush.Size.Height / 2);
// 将坐标系旋转 -45 度,使水印呈斜角
brush.Graphics.RotateTransform(-45);
// 在画刷上绘制文字“DO NOT COPY”,如需绘制中文,需使用PdfTrueTypeFont并改为中文字体
// 使用 Helvetica 字体,字号 24,颜色为紫罗兰色,文字居中
brush.Graphics.DrawString(
"DO NOT COPY",
new PdfFont(PdfFontFamily.Helvetica, 24),
PdfBrushes.Violet,
0, 0,
new PdfStringFormat(PdfTextAlignment.Center));
// 恢复之前保存的图形状态
brush.Graphics.Restore();
// 重置透明度为 1(不透明)
brush.Graphics.SetTransparency(1);
// 将画刷绘制到页面整个区域,实现水印效果
page.Canvas.DrawRectangle(brush, new RectangleF(new PointF(0, 0), page.Canvas.ClientSize));
}
完成所有编辑后,最后一步是保存修改并释放资源:
// 保存修改后的 PDF 并释放资源
pdf.SaveToFile("修改.pdf");
pdf.Close();
输出PDF文档:
在程序化编辑 PDF 时,遵循以下实用技巧,可以确保输出准确、可读且高效:
本教程介绍了如何使用 Spire.PDF 在 C# 中编辑 PDF 文件,涵盖文本替换、图片插入、页面管理及水印添加等操作。每个步骤均提供实用代码示例,帮助开发者通过程序化方式高效处理 PDF,提高文档操作效率与专业性。
A1: 使用 Spire.PDF,可以替换已有文本或添加新文本。PdfTextReplacer 和 page.Canvas.DrawString() 提供精确控制,同时保持 PDF 格式一致。
A2: 通过 PdfTextReplacer 查找并替换文本,或使用 page.Canvas.DrawString() 在任意位置添加新文本,实现程序化 PDF 编辑。
A3: 可以,使用 PdfImage 和 PdfImageHelper 将图片绘制或替换到 PDF 页面上,支持图像更新和插入操作。
A4: 可使用 C# 和 Spire.PDF 程序化添加文本或图片水印,并控制透明度、旋转和位置,可应用于单页或所有页面。
A5: 创建新的 PDF 文档,将原文档的指定页面插入新文档,实现单页或页范围提取,便于程序化处理 PDF 文件。
————————————————————————————————————————
关于慧都科技:
慧都科技(EVGET)成⽴于2003年,是⼀家⾏业数字化解决⽅案公司,⻓期专注于软件、油⽓与制造⾏业。公司基于深⼊的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与⻓期竞争优势。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。慧都科技E-iceblue的官方授权代理商,提供E-iceblue系列产品免费试用,咨询,正版销售等于一体的专业化服务。E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品,支持国产化信创,帮助企业高效构建文档处理的应用程序。
欢迎下载|体验更多E-iceblue产品
获取更多信息请咨询慧都在线客服 ;技术交流Q群(125237868)
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:慧都网



在软件开发过程中,需求管理是项目成功的核心要素。面对需求频繁变更、团队成员理解不一致以及需求与实现之间可追溯性差等常见挑战,如何确保项目在规定时间和预算内交付真正符合客户期望的产品,成为开发团队必须解决的难题。下面将深入探讨如何利用Visual Paradigm这一一体化建模工具,通过UML用例分析技术和需求追踪能力,实现精准、高效的需求管理。
本次更新是 TX Text Control 历史上一次极具里程碑意义的版本升级,在跨平台一致性、PDF 标准支持、可访问性、云与容器环境适配等方面实现了全面提升,为企业级文档处理提供了更高性能、更高标准、更强稳定性的技术基础。
在使用 Excel 处理数据时,数据透视表通过汇总大型数据集,简化了分析过程。但随着分析的深入,您可能需要删除旧的数据透视表,以保持工作表的整洁或为新的分析结果做好准备。本教程将逐步介绍如何借助Aspose.Cells使用Python从Excel 工作表中删除数据透视表。
Sparx Systems Enterprise Architect(EA)作为一款基于UML的综合性建模平台,通过其深度集成能力,将架构治理融入持续交付管道,确保了在快速迭代中架构与实施的一致性,为敏捷与严谨的平衡提供了关键支撑。
相关产品
Spire.PDF for .NET是独立的PDF控件,用于.NET程序中创建、编辑和操作PDF文档
Spire.Office for .NET专业的.NET Office套件,涵盖office文档创建、编辑、转换、管理和OCR内容识别等操作
Aspose.PDF for .NETPDF文档创建组件,无需Adobe Acrobat,也可以在任何平台上操作PDF文档。
IronPDF在C#中用HTML、MVC、ASPX和图像生成PDF,具备50多个阅读和编辑PDF的功能
最新文章 MORE
相关文章 MORE
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 
渝公网安备
50010702500608号
首页 