我使用以下代码在 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);
最佳答案
这是设计使然。当改变书写方向时,一切都会颠倒过来:左变为右,右变为左。因此,您需要 Element.ALIGN_LEFT
而不是 Element.ALIGN_RIGHT
。
关于java - 我在 iText 中的希伯来语文本是左对齐的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15954126/