我有一个带有表单字段的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
函数。
但我需要一个解决方案来替换富文本格式字段中的文本,以确保格式化后仍然存在。
我该怎么做?