【问题标题】:Japanese/Chinese text in pdf using iText Java使用 iText Java 的 pdf 中的日文/中文文本
【发布时间】:2011-08-12 17:57:40
【问题描述】:

我需要在 java 中使用 iText 将日文/中文文本从 xml 网络响应添加到 pdf。将 KozMinPro-Regular.ttf 复制到我的 c:\WINDOWS\Fonts 文件夹后,我尝试了以下代码,但失败了。

Font font = new Font(BaseFont.createFont("KozMinPro-Regular", "UniJIS-UCS2-H", BaseFont.EMBEDDED), 10);

谁能帮帮我?

【问题讨论】:

  • 你得到一个异常,null,错误的字体?
  • 您需要完整路径。如果字体文件中包含多种字体 (.ttc),您还需要添加“,1”或“,2”来定义您想要的字体。 PS:我一直更喜欢“Identity-H”。
  • 谢谢...这对我有用...

标签: java unicode internationalization itext


【解决方案1】:

您应该使用 iTextAsian(额外的 JAR 文件)。

iTextAsian.jarcmap_info.txt的一些描述。

请注意,您传递的任何值 'embedded' 参数与 BaseFont.createFont方法,字体 不会被嵌入。了解 为什么,请阅读以下内容 信息。

Acrobat 中使用的字体 阅读器在查看 PDF 文件时 使用 CJK 字体将在 一个或多个字体包。你可以 自己下载这些字体包 这个网址: http://www.adobe.com/products/acrobat/acrrasianfontpack.html

在此页面上,您可以找到 以下信息:“如果作者 Adobe (R) 可移植文档 格式 (PDF) 文件嵌入 CJK 和 PDF 中的中欧 (CE) 字体 文档,然后是任何语言版本的 Adobe Reader (R) 软件将能够 在任何屏幕上显示 CJK 和 CE 文本 无需额外软件的系统。

如果 PDF 文档的作者使用 CJK 或 CE 字体,但不嵌入 它们在文档中,然后是正确的 字体需要安装在 为了查看 Adob​​e PDF 文件 非本地系统。”

如果需要的字体未嵌入到 PDF 文件中,则不应使用字体文件的绝对路径。
使用字体文件创建一个 jar 文件,并将其包含在类路径条目中。

【讨论】:

    【解决方案2】:

    我没有测试过这个,但是根据this页面

    已安装字体的使用是这样的。

    Font font = new Font(BaseFont.createFont("C:\\Windows\\Fonts\\KozMinPro-Regular.ttf,1", BaseFont.IDENTITY_H, BaseFont.EMBEDDED), 10);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-01
      • 1970-01-01
      • 2011-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多