我在iText中的希伯来语文本是左对齐的

aet 发布于 2019-03-09 itext 最后更新 2019-03-09 14:39 5 浏览

我正在使用以下代码在iText中生成希伯来语文本。 它很好地工作(创建一个希伯来语字体,并使文本从右到左流动),但文本是左对齐的,而不是右对齐。 任何人都可以帮助我使它对齐?请注意,我试图使MultiColumnText右对齐,而段落右对齐 - 但无济于事! 谢谢

static Color darkBlue = new Color(0x2F, 0x36, 0x99);
BaseFont unicode = BaseFont.createFont("c:/windows/fonts/arial.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font fontDarkBlueHebrew = new Font(unicode, 12, Font.NORMAL,darkBlue);
MultiColumnText mct=new MultiColumnText();
mct.addSimpleColumn(36, PageSize.A4.width()-36);
mct.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);
mct.setAlignment(Element.ALIGN_RIGHT);
Paragraph section1a = new Paragraph("כותרת 1",fontDarkBlueHebrew );
section1a.setAlignment(Element.ALIGN_RIGHT);            
mct.addElement(section1a);
Paragraph section1b = new Paragraph("הטקסט שלע",fontDarkBlueHebrew);
section1b.setAlignment(Element.ALIGN_RIGHT);  
mct.addElement(section1b);
document.add(mct);
已邀请:

gomnis

赞同来自:

这是设计的。当改变书写方向时,一切都颠倒过来:左边变成右边,右边变成左边。所以你需要Element.ALIGN_LEFT而不是Element.ALIGN_RIGHT