使用RTL时,带有C#的IText 7会出现顶点扁平化问题



我使用带有C#的IText 7来填充";acroForms";程序化。在处理RTL语言时,我发现了如何做到这一点。

当我需要禁用(展平(输入字段时,该值就会消失。

当我使用LTR(英语(时,值被禁用-扁平化,一切都很好。

代码:

PdfDocument pdf = new PdfDocument(new PdfReader(@"C:testtest.pdf"), new PdfWriter(@"C:testtest2.pdf"));
PdfAcroForm form = PdfAcroForm.GetAcroForm(pdf, true);
form.SetNeedAppearances(true);
IDictionary<String, PdfFormField> fields = form.GetFormFields();
PdfFormField toSet;
fields.TryGetValue("CM@SHEM_PRATI@1", out toSet);
toSet.SetValue("גגג");
form.PartialFormFlattening("CM@SHEM_PRATI@1");
form.FlattenFields();
pdf.Close();

我是否错过了用于展平RTL插入字段的配置?有没有其他方法可以用C#Itext 7禁用输入字段?

问题已经解决。我添加了itext7.pdfcalligraph插件。然后在上面的代码中添加了一个rtl字体:

PdfFont heb = PdfFontFactory.CreateFont(@"/path/to/font.ttf", "Identity-H", true);
toSet.SetFont(heb);

输入字段变平,仍然可以看到该值。

相关内容

  • 没有找到相关文章

最新更新