如何生成英语以外的其他语言的pdf?

时间:2018-07-16 08:45:17

标签: android pdf itext

我正在使用Itext为我拥有的文本生成pdf文件。文字可以使用不同的语言,例如印地语,西班牙语,泰卢固语等。 当我尝试保存这些语言(英语以外的其他语言)时,它会变成空白,而对于英语,它能够生成pdf文件中的文本。

我是否需要为pdf文档设置任何内容以生成所有语言的PDF?

这是我使用的代码窃听器,

val document = Document()

var localFileName = otherUser +  "_" + timeStamp + ".pdf"
PdfWriter.getInstance(document,  FileOutputStream(path
        + File.separator
        + localFileName))

document.open()

for (message in messages) {
    var source = if (message.isSource!!) "Source" else "Translated"
    document.add (Paragraph(message.time + "  " + message.language + "( " + source + " )" + ":" + message.message + "\n"))
   )
}

有人可以帮助我吗?

谢谢

1 个答案:

答案 0 :(得分:0)

有几个问题:

  1. 您在创建PdfFont对象时未指定Paragraph。结果,将选择默认的PdfFont(Helvetica,常规,为12)。
  2. Helvetica不包含呈现您列出的所有可能脚本所需的字形。当iText询问PdfFont“请给我x字符的字形”并且PdfFont返回null时,iText根本不画任何东西。这就是为什么它空白的原因。
  3. 某些高级印刷功能(包括连字)仅可使用pdfCalligraph(iText7的封闭源插件)使用。您需要这些功能才能准确表示北印度语,泰米尔语(以及其他各种非西方文字)