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

标签 java pdf itext

我使用以下代码在 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/

相关文章:

c# - 带有 iTextSharp 的 PDF 表单

java - 使用数据在 Excel 工作表中查找最后一行 - Java

css - 在链接之前或之后放置图标以指示文件类型(例如 : linking Adobe PDF, 音频或视频)的最佳做法是什么

html - iTextSharp - 将一段 HTML 输出到 PDF(到表格单元格中)

html - 如何在 PDF.js 中强制/设置语言环境

java - 如何在java中使用itext检查pdf是否 protected

java - PDF 页面大小与提供的页面大小不准确

java.lang.IllegalStateException : Could not execute method of the activity (trying to send a mail)

java - 将 Blob 转换为 JPG 并更新 Blob

java - 在Lucene中嵌套搜索而不重复关键字