我正在使用iTextSharp动态创建pdf文件,以便我的用户保存在他们的计算机上。目前它的工作方式是我有几个iTextSharp打开的pdf模板,从数据库设置字段并保存在用户计算机上。
我在使用富文本编辑器(NiceEdit)向用户输入的正文字段中添加丰富内容时遇到了实际问题。它包含非常简单的选项,如子弹,粗体,斜体,字体颜色,大小等等,这些都是他们所需要的。我尝试了所有可能的选项,但似乎没有任何帮助。
PdfReader reader = new PdfReader(originalReport.ToString());
PdfStamper stamper = new PdfStamper(reader, new FileStream(report, FileMode.Create));
AcroFields fields = stamper.AcroFields;
fields.SetFieldProperty("body", "setfflags", PdfFormField.FF_RICHTEXT, null);
fields.SetFieldRichValue("body", bodyValue.ToString());
fields.GenerateAppearances = false;
我尝试将表单展平,但根本不显示该字段。如果我没有展平表单,那么该字段显示内容但根本没有格式(即使删除了新行),如果我使用SetField选项而不是SetFieldRichValue,我会得到一个html内容的字符串
我还尝试允许pdf模板字段从acrobat pro“允许富文本”,但这会产生异常并暂停pdf :)
另请注意,由于我使用的模板取决于用户的类型,因此使用了SetField选项,我不从头创建文档因此我不使用我可以获得的段落我使用HTMLWorker并简单地添加到文档
请帮忙吗?