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/
只不过里面都是全英的 反正我看着是挺费劲的
itextpdf 5.5.6版本生成pdf文件 字体设置三种方式相关推荐
- sass文件编译的三种方式【舒】
[舒:]sass文件编译的三种方式 方式一: 1.webstorm打开evtGulp项目或者mcake-activity项目 2.中,开启gulp->default/develop,启动watc ...
- 用python打开文件夹的三种方式
用python打开文件夹的三种方式 一.利用explorer.exe import os# 利用explorer.exe执行 start_directory = r'C:\代码\软件包' os.sys ...
- Java生成唯一标识码的三种方式
Java生成唯一标识码的三种方式 前言 我们经常会遇到这样的场景,需要生成一个唯一的序列号来表明某一个数据的唯一性,在单节点的应用中我们可以简单地使用一个自增的整型来实现实现,但是在分布式情况下这个方 ...
- itextpdf添加表格元素_itext生成pdf文件-表格
生成pdf常用的插件有iReport.和itext,这里将使用itext生成pdf文件. 多于的话不说直接上demo和需要的jar,如果pdf中有图片要画的话可以用jfreeChart画. packa ...
- Java纯后端生成PDF格式报表的三种方案(包含echarts图表)
最近做了一个奇葩的需求,研究了一下Java纯后端生成PDF报表的方案,顺便将研究的方案做个总结复盘,分享一下. 需求分析:Java后端定时任务统计汇总成报表数据,并生成PDF格式的报表文件,并通过邮件 ...
- 怎么编辑PDF文件?分享三种好用的编辑方法
怎么编辑PDF文件中的内容呢?大家在日常使用PDF文件的过程中肯定遇到过需要编辑文件的需求,因为我们不能保证每个文件中的内容都不会出错,问题是PDF文件不容易改动,我们怎么做才能够编辑PDF文件呢?不 ...
- 生成二维码的三种方式
一:二维码的概念 二维条码(2-dimemsional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的图形 二: 二维码的分类 通常分为三 ...
- 获取class文件对象的三种方式
package cn.learn_01;/** 反射:就是通过class文件对象,去使用该文件中的成员变量,构造方法,成员方法.* * Person p = new Person();* p.使用* ...
- jquery上传图片_文件上传三种方式
来源:python宝典 链接: https://mp.weixin.qq.com/s/YUplCQDfAucA_rS8E1T6WA 需求 上传图片在页面显示 Form表单上传 <html ...
最新文章
- pat天梯赛L1-050. 倒数第N个字符串
- GDCM:Dicom文件重复的PCDE测试程序
- 【深入理解JVM】JVM概述
- 大剑无锋之Spark中的Driver是什么?【面试推荐】
- 如果可以,我们一起留在竹山。
- python——time模块实现指定时间触发器
- 如何在SQL Server 2016中使用R合并和拆分CSV文件
- “搞机器学习没前途”
- 江苏省计算机二级python往年卷_历年江苏省计算机二级考试真题及答案2008-2009
- 【Android】iOS开发中xconfig和script脚本的使用
- 启动虚拟机报错:.vmss”还原虚拟机状态时出错。 错误导致继续运行操作失败。请保留挂起状态并纠正错误,或放弃挂起状态。
- 向量代数与空间解析几何
- 入坑codewars
- 字节跳动Android面试全套真题解析在互联网火了,系列教学
- 常见 Web 攻击介绍
- 2021年甘肃省安全员B证考试题及甘肃省安全员B证证考试
- 外贸行业薪资考核系统勤哲EXCEL服务器实现
- 爱奇艺黄金VIP会员怎么免费领取升级星钻VIP会员在电视上看奇异果TV?
- 发现一个超级简单下载17素材网的下载的方法,在这里分享一下。
- Thinkphp5三级分销视频播放系统源码带试看功能