pdf 文本标记替换
pdf 文本标记替换
最近开发一个功能:公司要求把pdf文件中的对应关键字文本动态替换为对应的内容,于是就从网络上查找各种相关的资料,最终决定用Spire.Pdf.General.Find.PdfTextFind来解决问题,在代码编写时候发现该类下的一个方法ApplyRecoverString是支持文本替换功能的,但是中文内容替换会出现乱码,研究了一下发现加入一个参数ApplyRecoverString(string newvalue, bool unicode);使用unicode为true可以解决这个问题,可是问题来了,打开程序运行,第一次运行可以正常操作替换,第二次这个参数就会报错,试了很多种方法没有办法解决,最终决定放弃该参数的使用,采用另一种方案解决。就是把对应文本找到,内容替换为空的,再在对应的文本位置采用写入pdf文字的方法,才得以解决。
下面贴上相关代码:
public string pdfreplace(string templatePath,string signhtidsign)
{
Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument();
doc.LoadFromFile(templatePath);
System.Drawing.Font font = new System.Drawing.Font(“宋体”, 10, System.Drawing.FontStyle.Regular);
Spire.Pdf.Graphics.PdfTrueTypeFont pdfTrueTypeFont = new Spire.Pdf.Graphics.PdfTrueTypeFont(font, true);//true防止中文乱码