Net9解决Spire.Pdf替换文字后,文件格式乱掉解决方法

embedded/2024/12/23 11:47:08/

官方文档

https://www.e-iceblue.com/Tutorials/Spire.PDF/Program-Guide/Text/Find-and-replace-text-on-PDF-document-in-C.html

C# 在 PDF 中查找替换文本

原文件如下图,替换第一行的新编码,把41230441044替换为41230441000

替换代码如下:

 PdfDocument doc = new PdfDocument();//加载PDF文档doc.LoadFromFile("Input.pdf");          PdfTextReplaceOptions textReplaceOptions = new PdfTextReplaceOptions();textReplaceOptions.ReplaceType = PdfTextReplaceOptions.ReplaceActionType.IgnoreCase;textReplaceOptions.ReplaceType = PdfTextReplaceOptions.ReplaceActionType.WholeWord;textReplaceOptions.ReplaceType = PdfTextReplaceOptions.ReplaceActionType.AutofitWidth;PdfPageBase page = doc.Pages[0];PdfTextReplacer textReplacer = new PdfTextReplacer(page);textReplacer.Options = textReplaceOptions;textReplacer.ReplaceAllText("41230441044", "41230441000");doc.SaveToFile("ReplaceTextInPage.pdf");doc.Dispose();

替换后格式乱了,如下图

解决方法如下,作用PdfTextFinder

参考文档https://www.e-iceblue.com/Tutorials/Spire.PDF/Spire.PDF-Program-Guide/Text/Find-and-Highlight-Selected-Text-in-PDF-in-C-VB.NET.html

C#/VB.NET 在 PDF 文档中查找并突出显示文本

PdfDocument doc = new PdfDocument();//加载PDF文档
doc.LoadFromFile("Input.pdf");          
PdfPageBase page = doc.Pages[0];
PdfTextFinder finder = new PdfTextFinder(page);
var finds = finder.Find("41230441044");
foreach (var textFragment in finds)
{textFragment.ApplyRecoverString("41230441000", Color.White, true);
}
doc.SaveToFile("ReplaceTextInPage.pdf");
doc.Dispose();


http://www.ppmy.cn/embedded/148054.html

相关文章

webview+H5来实现的android短视频(短剧)音视频播放依赖控件资源

https://download.csdn.net/download/qq_41294019/90167109 短视频尤其短剧的爆火关于音视频方面的需要越来越多,相关的框架、三方依赖技术也越来越成熟,本篇文章也是基于当前短剧高需要的背景来撰写,相信不少开发者也研究开发了相关的类库&a…

C语言入门指南:从零开始的编程之路

记得我刚开始接触编程时,也像很多初学者一样充满疑惑。编程看起来很神奇,但要如何开始呢?经过多年编程经验的积累,今天和大家分享如何入门C语言编程。 C语言诞生于1972年,由Dennis Ritchie在贝尔实验室开发。它的出现彻底改变了计算机编程的历史。虽然现在有很多更新的编程语…

kubernetes存储架构之PV controller源码解读

​ kubernetes存储之PV controller源码解读 摘要 本文介绍kubernetes存储架构的基础,并重点对PV controller的源码进行了学习 引入 从一个业务场景出发,假如你所在的公司,有个物理机,上面部署了web服务器,随着业务…

vscode的keil assistant 中搜索不到全局变量

搜不到 但是在包含的文件中输入 ../../../,就是全局搜索的结果 我的文件结构是:\Desktop\LVGL文件系统移植(lvgl8.3)\Projects\MDK-ARM 盲猜是keil assistant 当前文件夹打开的时候是进入到了MDK-ARM文件夹层次&…

Halcon中dots_image(Operator)算子原理及应用详解

在HALCON中,dots_image算子是一个用于增强图像中圆点效果的强大工具,特别适合于点的分割,以及OCR(光学字符识别)应用程序中增强点状印刷字体。以下是对dots_image (ImageResult, DotImage, 5, ‘dark’, 2)算子原理及应…

lvs介绍与应用

LVS介绍 LVS(Linux Virtual Server)是一种基于Linux操作系统的虚拟服务器技术,主要用于实现负载均衡和高可用性。它通过将客户端请求分发到多台后端服务器上,从而提高整体服务的处理能力和可靠性。lvs是基于集群的方式实现 集群…

frameworks 之 日志打印

frameworks 之 日志打印 1. 常见日志类型2. 动态日志ProtoLog 讲解 anddroid 日志打印类型。 1. 常见日志类型 android 日志类型分为 6 类 分别为 main,system, radio, events, crash, kernel 查看帮助指令 adb shell logcat --helpmain: 用于存储大多数应用和系统…

mysql免安装版配置教程

一、将压缩包解压至你想要放置的文件夹中,注意:绝对路径中要避免出现中文 二、在解压目录下新建my.ini文件,已经有的就直接覆盖 my.ini文件内容 [mysqld] # 设置3306端口 port3306 # 设置mysql的安装目录 basedirD:\\tools\\mysql-8.1.0-win…