0

我正在尝试生成包含希伯来语单词的 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);

谢谢。

4

1 回答 1

0

您添加的代码在许多层面上都是错误的。

  1. 您正在源代码中添加希伯来语字符。如果使用错误的编码保存文件,如果使用错误的编码编译文件等,这些字符可能会丢失...使用 Unicode 表示法而不是实际字符。
  2. 也许没有错,但要检查:您使用的是 arial.ttf,您不应该使用 arialuni.ttf 吗?另外:确保将 ttf 打包到 APK 中(您不会是第一个忘记发送资源的人)。
  3. 我看不懂希伯来语,但我知道它是从右向左书写的。类中不支持 RTL Paragraph,仅在PdfPCell和中支持ColumnText

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

于 2013-09-16T10:00:35.443 回答