加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何基于InputStream创建iText BaseFont

发布时间:2020-12-15 01:03:05 所属栏目:Java 来源:网络整理
导读:我在Web应用程序中有一个字体文件“arial.ttf”,我只能将其内容作为InputStream获取. InputStream inputFont = getResourceAsStream("/resources/arial.ttf"); 如何基于InputStream创建iText BaseFont ? createFont方法不接受它. BaseFont bf = BaseFont.cr

我在Web应用程序中有一个字体文件“arial.ttf”,我只能将其内容作为InputStream获取.

InputStream inputFont = getResourceAsStream("/resources/arial.ttf");

如何基于InputStream创建iText BaseFont? createFont方法不接受它.

BaseFont bf = BaseFont.createFont(inputFont,BaseFont.IDENTITY_H,BaseFont.EMBEDDED);

createFont(InputStream,String,boolean) can’t invoke createFont(java.lang.String,java.lang.String,boolean)
in BaseFont.

最佳答案
尝试以下内容:

byte[] bytes = IOUtils.toByteArray(Thread.currentThread().getContextClassLoader()
        .getResourceAsStream("/resources/arial.ttf"));
BaseFont.createFont("arial.ttf",BaseFont.IDENTITY_Harial.ttf,BaseFont.EMBEDDED,true,bytes,null);

您必须在字体名称中指定.ttf以告诉它应将其解释为ttf格式的方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读