2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > itextpdf 5.5.6版本生成pdf文件 字体设置三种方式

itextpdf 5.5.6版本生成pdf文件 字体设置三种方式

时间:2021-09-05 19:09:09

相关推荐

itextpdf 5.5.6版本生成pdf文件  字体设置三种方式

1.第一种是引用window本地系统字体(这里以常见的宋体为例)

BaseFont bf =BaseFont.createFont("C:/WINDOWS/Fonts/simsun.ttf", BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);

Font f = new Font(bf,18,Font.NORMAL);

2.第二种是直接根据路径引用项目中字体

String path = getClass().getResource("/").getPath();

if (path.indexOf("WEB-INF/classes") != -1) {

path = path.substring(1, path.indexOf("WEB-INF/classes"));

path = "/"+path + "font/simsun.ttf";

}

BaseFont bf =BaseFont.createFont(path , BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);

Font f = new Font(bf,18,Font.NORMAL);

这里可以直接将字体放在项目的classes路径下, 这样直接引用字体名就可以了。

3.第三种直接引用itext字体库中的字体

BaseFont bf =BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);

Font f = new Font(bf,18,Font.NORMAL);

这种方法引用基本都是常见字体,像一些韩语或西班牙语字体就没有了 就需要使用上面的方法了

最后再说下相关api的传参作用,举个栗子

BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);

第一个参数为字体引用地址,第二个参数为字体编码方式,第三个参数为字体写入方式 我这里的BaseFont.NOT_EMBEDDED这个参数的意思就是不以嵌入式方式写入字体

new Font(bf,18,Font.NORMAL);

第一个参数是字体对象,第二个参数是字体大小,第三个参数是字体样式 这里的Font.NORMAL代表无附加样式,相关api还提供加粗等

no bb 上图

写到这就结束了 如果有错误的话 希望大家指正交流哈 然后这里给大家提供个itextpdf官方的api链接

/iText5/java/5.5.9/

只不过里面都是全英的 反正我看着是挺费劲的

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。