使用 iText Java 生成 pdf 中的日文/中文文本

发布于 2024-11-03 05:12:22 字数 265 浏览 1 评论 0原文

我需要使用 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);

有人可以帮助我吗?

I need to add japanese/chinese text from xml web response to pdf using iText in java. I tried the following code after copying the KozMinPro-Regular.ttf to my c:\WINDOWS\Fonts folder but failed.

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

Can anyone help me?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

往昔成烟 2024-11-10 05:12:22

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

cmap_info.txt 位于 iTextAsian.jar 内。

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

Acrobat 中使用的字体
Reader 在查看 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 文件,并将其包含在类路径条目中。

You should use iTextAsian (extra JAR file).

Some description of cmap_info.txt inside iTextAsian.jar.

Note that whatever value you pass for
the 'embedded' parameter with the
method BaseFont.createFont, the font
WILL NOT BE embedded. To understand
why, please read the following
information.

The fonts that are used in Acrobat
Reader when viewing a PDF file that
uses CJK fonts will be downloaded in
one or more font packs. You can
download these fontpacks yourself from
this URL:
http://www.adobe.com/products/acrobat/acrrasianfontpack.html

On this page, you can find the
following information: "If the author
of an Adobe (R) Portable Document
Format (PDF) file embeds CJK and
Central European (CE) fonts in a PDF
document, then any language version of
Adobe Reader (R) software will be able
to display the CJK and CE text on any
system without additional software.

If the author of the PDF document uses
CJK or CE fonts but does not embed
them in the document, then the correct
fonts will need to be installed in
order to view the Adobe PDF file on
non-native systems."

If needed fonts is unembedded in PDF file, you should not use absolute path for font files.
Create a jar file with font files, and include it in classpath entry.

陌伤浅笑 2024-11-10 05:12:22

我还没有对此进行测试,但根据页面

安装的使用情况字体是这样的。

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

I havn't tested this, but according to this page

Usage of Installed fonts are something like this.

Font font = new Font(BaseFont.createFont("C:\\Windows\\Fonts\\KozMinPro-Regular.ttf,1", BaseFont.IDENTITY_H, BaseFont.EMBEDDED), 10);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文