Nim*_*ims 5 java unicode itext internationalization
我需要使用 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);
谁能帮我?
您应该使用iTextAsian(额外的 JAR 文件)。
iTextAsian.jar中cmap_info.txt的一些描述。
请注意,无论您使用BaseFont.createFont方法为“embedded”参数传递什么值,字体都不会被嵌入。要了解原因,请阅读以下信息。
查看使用 CJK 字体的 PDF 文件时,Acrobat Reader 中使用的字体将以一个或多个字体包的形式下载。您可以从以下 URL 自行下载这些字体包: http://www.adobe.com/products/acrobat/acrrasianfontpack.html
在此页面上,您可以找到以下信息:“如果 Adobe (R) 可移植文档格式 (PDF) 文件的作者在 PDF 文档中嵌入了 CJK 和中欧 (CE) 字体,则任何语言版本的 Adobe Reader ( R) 软件将能够在任何系统上显示 CJK 和 CE 文本,无需额外的软件。
如果 PDF 文档的作者使用 CJK 或 CE 字体但未将它们嵌入文档中,则需要安装正确的字体才能在非本机系统上查看 Adobe PDF 文件。”
如果 PDF 文件中未嵌入所需字体,则不应使用字体文件的绝对路径。
使用字体文件创建一个 jar 文件,并将其包含在类路径条目中。
我还没有测试过这个,但是根据这个页面
已安装字体的用法是这样的。
Font font = new Font(BaseFont.createFont("C:\\Windows\\Fonts\\KozMinPro-Regular.ttf,1", BaseFont.IDENTITY_H, BaseFont.EMBEDDED), 10);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8543 次 |
| 最近记录: |