iText7 SetJustification(2)部分工作

时间:2018-01-15 10:03:49

标签: c# pdf itext7

我有一个代码,它采用PDF模板,将一些输入值插入模板并创建输出PDF文件 PDF文件中的一个字段是一个自由文本,其中可以包含希伯来语/英语/数字或符号字符的值。
我使用以下代码使用希伯来语显示文本:RTL显示:

iText.Kernel.Pdf.PdfReader reader = new iText.Kernel.Pdf.PdfReader(pdfTemplatePath); //src);
iText.Kernel.Pdf.PdfWriter writer = new iText.Kernel.Pdf.PdfWriter(pdfOutPutFile); //dest);
iText.Kernel.Pdf.PdfDocument pdf = new iText.Kernel.Pdf.PdfDocument(reader, writer);
iText.Forms.PdfAcroForm form = iText.Forms.PdfAcroForm.GetAcroForm(pdf, true);

IDictionary<String, iText.Forms.Fields.PdfFormField> fields = form.GetFormFields();

// iText.Kernel.Font.PdfFont = iText.Kernel.Font.PdfFontFactory.CreateFont(iText.IO.Font.FontProgram
FontProgramFactory.RegisterFont(@"C:\Windows\Fonts\ARIALUNI.TTF", "arialUnicode");
iText.Kernel.Font.PdfFont myFont = PdfFontFactory.CreateRegisteredFont("arialUnicode", iText.IO.Font.PdfEncodings.IDENTITY_H, true);

pdf.GetFirstPage().GetResources().AddFont(pdf, myFont);

// Set Field value by Fields mapping
foreach (string fieldName in formFieldMap.Keys)
{
    fields[fieldName].SetValue(formFieldMap[fieldName].ToString());
    fields[fieldName].SetFont(myFont);

    // displaying the text: 0 Left-justified 1 Centered 2 Right-justified
    **fields[fieldName].SetJustification(2);**
}

我的问题是文本没有正确对齐。

带左对齐文字的字段:

Field with text-align left

我还可以在右边设置text-align吗?

0 个答案:

没有答案