iText 7.1.0.0 - 如何在PDF表单字段中替换富表单文本

时间:2018-01-12 08:54:53

标签: c# forms pdf itext7

我有一个带有表单字段的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();

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

目前我有以下代码:

PdfFormField tf_maintext = form.GetField("maintext");   
tf_maintext.SetRichText(tf_maintext.GetRichText());

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

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

PdfFormField kdnr = form.GetField("Kundennummer");
kdnr.SetValue(kdnr.GetValueAsString().Replace("7777777777", "1111111111"));

实现此目的的正常Replace函数。

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

我该怎么做?

0 个答案:

没有答案