小编And*_* T.的帖子

iText 7.1.0.0 - 如何替换 PDF 表单域中的富表单文本

我有一个带有表单字段的 PDF 模板,我使用iText 7.1.0来替换不同表单字段中的一些占位符文本,该模板工作正常:

PdfReader reader = new PdfReader(pdf_template);    
PdfDocument pdf = new PdfDocument(reader, new PdfWriter(pdf_output));    
PdfAcroForm form = PdfAcroForm.GetAcroForm(pdf, true);    
form.GetField("Vertragsnummer").SetValue("12345"); 
form.FlattenFields();    
pdf.Close();    
reader.Close();
Run Code Online (Sandbox Code Playgroud)

现在我有一个表单域,它的选项设置为允许富文本格式,因为有些部分带有粗体等。在表单域标准文本中,我又要替换占位符。

目前我有以下代码:

PdfFormField tf_maintext = form.GetField("maintext");   
tf_maintext.SetRichText(tf_maintext.GetRichText());
Run Code Online (Sandbox Code Playgroud)

现在我需要替换占位符,但我没有找到任何适用于 C# 的解决方案。

对于普通表单字段,我可以使用

PdfFormField kdnr = form.GetField("Kundennummer");
kdnr.SetValue(kdnr.GetValueAsString().Replace("7777777777", "1111111111"));
Run Code Online (Sandbox Code Playgroud)

Replace实现这一点的正常功能。

但是我需要一个解决方案来替换富文本格式字段中的文本,以确保格式在之后仍然存在。

我怎样才能做到这一点?

c# forms pdf itext7

5
推荐指数
0
解决办法
460
查看次数

标签 统计

c# ×1

forms ×1

itext7 ×1

pdf ×1