itextpdf 5.5.6版本生成pdf文件 字体设置三种方式 |
您所在的位置:网站首页 › springboot下载pdf大小不对 › 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链接 https://api.itextpdf.com/iText5/java/5.5.9/ 只不过里面都是全英的 反正我看着是挺费劲的 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |