我有一个字体文件" arial.ttf"在Web应用程序中,我只能获取其内容为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)无法调用createFont(java.lang.String,java.lang.String,boolean) 在BaseFont。
答案 0 :(得分:3)
尝试以下内容:
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格式的方法。