我需要在java中使用iText将xml web响应中的日文/中文文本添加到pdf中。我将KozMinPro-Regular.ttf复制到我的c:\ WINDOWS \ Fonts文件夹后尝试了以下代码但是失败了。
Font font = new Font(BaseFont.createFont("KozMinPro-Regular", "UniJIS-UCS2-H", BaseFont.EMBEDDED), 10);
任何人都可以帮助我吗?
答案 0 :(得分:4)
您应该使用 iTextAsian (额外的JAR文件)。
iTextAsian.jar 中 cmap_info.txt 的一些说明。
请注意,您传递的任何值 与'嵌入'参数 方法 BaseFont.createFont ,字体 不会被嵌入。要明白 为什么,请阅读以下内容 信息。
Acrobat中使用的字体 读者在查看PDF文件时 使用CJK字体将被下载 一个或多个字体包。您可以 自己下载这些fontpack 这个网址: http://www.adobe.com/products/acrobat/acrrasianfontpack.html
在此页面上,您可以找到 以下信息:“如果是作者 Adobe(R)便携式文档 格式(PDF)文件嵌入CJK和 PDF中的中欧(CE)字体 文档,然后是任何语言版本 Adobe Reader(R)软件将能够 在任何上显示CJK和CE文本 没有附加软件的系统。
如果PDF文档的作者使用 CJK或CE字体但不嵌入 他们在文件中,然后是正确的 需要安装字体 为了查看Adobe PDF文件 非原生系统。“
如果需要的字体未嵌入PDF文件中,则不应使用字体文件的绝对路径 使用字体文件创建一个jar文件,并将其包含在类路径条目中。
答案 1 :(得分:0)
我没有对此进行测试,但根据this页面
安装字体的用法是这样的。
Font font = new Font(BaseFont.createFont("C:\\Windows\\Fonts\\KozMinPro-Regular.ttf,1", BaseFont.IDENTITY_H, BaseFont.EMBEDDED), 10);