我正在使用 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 并简单地添加到文档中
请问有什么帮助吗?