PDFBox 字体缓存笔记

代码关注点:
0x00

当使用PDType0Font.load进行外部字体读取的时候,
此静态方法内部包含的构造函数会调用
PDDocument的成员函数registerTrueTypeFontForClosing()
将字体缓存至PDDocument.fontsToClose成员中。

0x01

当使用PDPageContentStream.setFont()时,
此成员函数会调用PDDocument的成员函数getFontsToSubset().add()
将字体缓存到PDDocument.fontsToSubSet成员中。

特性关注点:
0x00

默认是每一次PDType0Font.load()都是全新的字库资源。
加载几个字体文件,PDDocument的成员fontsToClose便包含几个,不去除重。

0x01

如果PDPageContentStream.setFont()的参数为一个全新字体对象,
PDDocumentfontsToSubSet成员便会加入这个,不去重。

总结:

库提供完善的文件句柄管理。但有关去重的考量,还是需要开发者来关注。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在PDFBox中使用中文字体,首先需要下载对应的字体文件并将其添加到项目中。 1. 在网上搜索中文字体包的下载链接。有许多网站提供各种中文字体的下载,如字体宝库、字体下载站等等。可以根据自己的需求选择并下载合适的字体包。 2. 找到下载好的字体包文件。通常字体包会以压缩文件的形式提供,如zip、rar等。将其解压缩到一个文件夹中。 3. 打开PDFBox的项目。可以使用Eclipse、IntelliJ IDEA等Java开发工具打开项目。 4. 将字体文件复制到项目中。在项目中找到字体文件存放的位置,通常位于"resources"或者"assets"文件夹中。然后将下载好的字体文件复制到该文件夹下。 5. 更新PDFBox配置。在PDFBox的配置文件中,需要将字体文件的路径添加到配置中。找到PDFBox的配置文件,通常为"pdfbox.properties"或者"pdfbox.xml"。打开文件,在其中找到字体文件配置的位置,将下载好的字体文件的路径添加到该位置。 6. 保存并关闭配置文件。确保所做的修改已经保存。 7. 在项目中使用中文字体。通过调用PDFBox的API,在需要使用中文字体的地方指定字体的名称。可以在文本对象、标题、段落等中指定字体名称。 8. 运行程序。确保程序能够正常运行,并生成包含中文内容的PDF文件。 通过以上步骤,就可以成功下载和应用中文字体包到PDFBox中,使得生成的PDF文件能够正确显示中文内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值