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

您所在的位置:网站首页 springboot下载pdf大小不对 itextpdf 5.5.6版本生成pdf文件 字体设置三种方式

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

#itextpdf 5.5.6版本生成pdf文件 字体设置三种方式| 来源: 网络整理| 查看: 265

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链接

https://api.itextpdf.com/iText5/java/5.5.9/

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3