java – 如何基于InputStream创建iText BaseFont

前端之家收集整理的这篇文章主要介绍了java – 如何基于InputStream创建iText BaseFont前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在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格式的方法.

原文链接:https://www.f2er.com/java/437162.html

猜你在找的Java相关文章