在android中创建PDF时从右向左

在android中创建PDF时从右向左,android,pdf,itext,hebrew,Android,Pdf,Itext,Hebrew,我正在尝试生成包含希伯来语单词的PDF文件 创建文件时,所有希伯来文字母都将被删除,只有英文字母被删除 在文件中 有人能帮我解决这个问题吗 我正在使用iText 5.4.3 这是我添加新段落时的代码 Paragraph p0 = new Paragraph("טופס קריאת שירות"); BaseFont unicode = BaseFont.createFont("assets/fonts/arial.ttf", BaseFont.IDENTITY_H , BaseF

我正在尝试生成包含希伯来语单词的PDF文件

创建文件时,所有希伯来文字母都将被删除,只有英文字母被删除

在文件中

有人能帮我解决这个问题吗

我正在使用iText 5.4.3

这是我添加新段落时的代码

    Paragraph p0 = new Paragraph("טופס קריאת שירות");
    BaseFont unicode = BaseFont.createFont("assets/fonts/arial.ttf", BaseFont.IDENTITY_H , BaseFont.EMBEDDED);
    Font fontHebrew = new Font(unicode, 12, Font.NORMAL);
    p0.setAlignment(Paragraph.ALIGN_CENTER);
    p0.setFont(fontHebrew);

    //add paragraph to document    
    doc.add(p0);

谢谢。您添加的代码在很多方面都是错误的

  • 您正在源代码中添加希伯来语字符。如果使用错误的编码保存文件,或者使用错误的编码编译文件,等等,这些字符可能会丢失。。。使用Unicode符号,而不是实际字符
  • 也许没有错,但需要检查:您使用的是arial.ttf,您不应该使用arialuni.ttf吗?另外:确保你在APK中打包了ttf(你不会是第一个忘记发送资源的人)
  • 我不懂希伯来语,但我知道它是从右到左写的。在
    段落
    类中不支持RTL,仅在
    PdfPCell
    列文本
    中支持RTL

  • 查看以了解如何完成:使用表格完成;f是用一个列来完成的(第二个例子是阿拉伯语,但它的原理与希伯来语相同)。

    请不要说我使用的是com.itextpdf.com.lowagie,因为这不会告诉任何人你使用的是哪个版本(一般来说),对我来说,这感觉就像你在使用我的名字(特别是)。说“我正在使用过时的iText版本2.1.7”之类的话。这更切题了,你说得对。我添加了我正在使用的版本。没有像5.4.3 com.lowagie这样的东西。另外,如果你说版本5.4.3,你是在谈论JAVA iText还是Android端口iTextG?看,这让人困惑。还有:你试过什么。默认情况下,iText使用标准的Type1字体
    Helvetica
    ,如您所知,该字体不支持希伯来语,因此不会显示希伯来语字符。当然您使用的字体是
    MS Arial Unicode
    ?您好,布鲁诺,首先谢谢。我添加了用于添加新段落的代码。