【问题标题】:how to display telugu font in pdf in java如何在java中的pdf中显示泰卢固语字体
【发布时间】:2018-11-24 04:55:43
【问题描述】:

当我尝试从文本文档短语中添加 pdf 阅读时,例如 వ్యవసాయ శాఖ、శాఖాధిపతి
它显示像

我的代码是这样的

  Document document = new Document();
  PdfWriter.getInstance(document, fileForPdf);

  document.open();

  Paragraph  paragraph=      new Paragraph();
  BaseFont bf_cjk = BaseFont.createFont("F:\\Downloads\\gautami.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
  Font cjk = new Font(bf_cjk, 8,Font.NORMAL);
  paragraph.setFont(cjk);
  paragraph.add(వ్యవసాయ శాఖ, శాఖాధిపతి");
  document.add(paragraph);

  document.close();
  fileForPdf.close();

请帮帮我,我是新手。

【问题讨论】:

  • 启用字体连字好像有问题?
  • 看看这里:[stackoverflow.com/questions/11366354/… 一次!
  • 可能是,我不知道该怎么做
  • 旧的 itext 版本(7.x 之前)过去不处理连字。为了获得适当的文献支持,请切换到 itext 7 并添加排版模块。
  • 是的,我是在阅读他们的文档后才知道的,我目前正在免费试用 30 天

标签: java pdf fonts itext


【解决方案1】:

正如 Geno Chen 在他的评论中正确评论的那样,这是一个连字用法的问题。在版本 7 之前,itext 没有从字符组构建连字。因此,对于 itext 5 的 OP 原始代码,字符显示不正确。

如果使用排版模块 pdfCalligraph,Itext 版本 7 会从字符组构建连字。

因此,要走的路是更新到 itext 7 和 pdfCalligraph 插件。正如 OP 已经确认的那样,这可以按需要工作:

刚刚添加了 maven itext 排版依赖模块,它工作正常


正如 Amedee Van Gasse 正确评论的那样,pdfCalligraph

是一个闭源模块,您必须购买许可证才能使用它。

您可以使用测试许可证对其进行几周的测试。

【讨论】:

  • 是否有任何开源库可以解决这个问题?
  • 您可能会尝试使用 ICU 来预处理您的文本,然后将此预处理用作显示命令的 pdf 库文本的输入。我还没有尝试过,所以我不知道这是否是一个好方法。
猜你喜欢
  • 2014-06-18
  • 1970-01-01
  • 2012-01-21
  • 2022-10-04
  • 1970-01-01
  • 2020-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多