一、首先是,使用windows字体的正常方式。

    @Test
/**
* 使用windows系统下的字体,new Font方式
*/
public void test1_1() throws DocumentException, IOException {
String path = "C:/WINDOWS/Fonts/simhei.ttf";//windows里的字体资源路径
BaseFont bf = BaseFont.createFont(path, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font font = new Font(bf, 10f, Font.NORMAL, BaseColor.BLACK);
createPdf(font);
}
createFont(String name, String encoding, boolean embedded),
1、name参数是字体路径,该字体是黑体常规,如图:
2、encoding,是字体的编码方式,BaseFont.IDENTITY_H在源码中的意思是:带有垂直书写的Unicode编码,源码解释如下:

    /** The Unicode encoding with horizontal writing.
*/
public static final String IDENTITY_H = "Identity-H";

3、embedded,是个boolean值,如果字体要嵌入到PDF中,则为true。

二、如何准确的找到windows下的字体

首先去C:/WINDOWS/Fonts,这个文件夹下来选择想要使用的字体,例如,使用楷体 常规字体,:

1、右键打开属性,会看到文件名,如图:

2、复制文件名到代码中,即可使用。

另外,需要注意的几点是:

1、有些字体是文件夹,需要打开后才能查看属性,如图:

                                  

 2、有些字体文件后缀名为ttc,是需要多选的,代码如下:

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

数字是它有取决于他有几个可选项,从0开始。

可以打开文件后,通过下一步来查看:

如果数字写错,也可以通过报错信息查看它的范围:

Exception in thread "main" com.itextpdf.text.DocumentException: The font index for C:/WINDOWS/Fonts/simsun.ttc must be between 0 and 1. It was 3.
at com.itextpdf.text.pdf.TrueTypeFont.process(TrueTypeFont.java:656)
at com.itextpdf.text.pdf.TrueTypeFontUnicode.process(TrueTypeFontUnicode.java:122)
at com.itextpdf.text.pdf.TrueTypeFontUnicode.<init>(TrueTypeFontUnicode.java:99)
at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:706)
at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:626)
at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:461)
at pdf.Pdf556Custom.main(Pdf556Custom.java:21)

,它会提示你,只能在0和1中选择,不能选择3.

itext生成pdf如何使用windows系统下的各种字体的更多相关文章

  1. 在linux环境下使用itext生成pdf

    转载请注明出处 https://www.cnblogs.com/majianming/p/9537173.html 项目中需要对订单生成pdf文件,在不断的尝试之后,终于生成了比较满意的pdf文档. ...

  2. 如何用python在Windows系统下,生成UNIX格式文件

    平时测试工作中,少不了制造测试数据.最近一个项目,我就需要制造一批可在UNIX下正确读取的文件.为确保这批文件能从FTP下载成功,开发叮嘱我:“文件中凡是遇到换行,换行符必须是UNIX下的LF,而不是 ...

  3. Java Itext 生成PDF文件

    利用Java Itext生成PDF文件并导出,实现效果如下: PDFUtil.java package com.jeeplus.modules.order.util; import java.io.O ...

  4. Windows系统下三十款优秀开源软件

    Windows系统下三十款优秀开源软件 1.Firefox 官方网站:http://www.getfirefox.com/ 可替换Internet Explorer 功能特点:如果你还没有使用Fire ...

  5. windows系统下简单nodej.s环境配置 安装

    国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/ windows系统下简单nodejs环境配置. 第一步:下载安装文件 下载地址:官网 htt ...

  6. windows系统下安装MySQL

    可以运行在本地windows版本的MySQL数据库程 序自从3.21版以后已经可以从MySQL AB公司获得,而且 MYSQL每日的下载百分比非常大.这部分描述在windows上安装MySQL的过程. ...

  7. Windows系统下的TCP参数优化(注册表\TCPIP\Parameters)

    转自:https://blog.csdn.net/libaineu2004/article/details/49054261 Windows系统下的TCP参数优化   TCP连接的状态与关闭方式及其对 ...

  8. [转帖]整理:Windows系统下的奇技淫巧大汇总

    整理:Windows系统下的奇技淫巧大汇总 https://blog.csdn.net/bat67/article/details/76381357 Win+home Crtl+home 还有 Win ...

  9. windows系统下简单node.js环境配置 安装

    国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/ windows系统下简单nodejs环境配置. 第一步:下载安装文件 下载地址:官网 htt ...

随机推荐

  1. chrom代理插件

    1.SwitchyOmega 2.Resource Override

  2. streamsets 源码构建

    依赖构建工具 git 1.9+ oracle jdk  8 docker 1.10+ maven  3.3.9+ nodejs npm grunt-cli md5sum 预备构建任务 data col ...

  3. IntelliJ idea 创建Web项目后web文件夹下没有WEB-INF的解决方法

    1.Ctrl+Shift+Alt+S快捷键进入Project structure(项目结构)管理的界面 2.选择左边菜单栏里的Facet,点击后能看到有Deployment Descriptors的输 ...

  4. AtCoder Grand Contest 040 简要题解

    从这里开始 比赛目录 A < B < E < D < C = F,心情简单.jpg. Problem A >< 把峰谷都设成 0. Code #include &l ...

  5. Elasticsearch由浅入深(九)搜索引擎:query DSL、filter与query、query搜索实战

    search api的基本语法 语法概要: GET /_search {} GET /index1,index2/type1,type2/_search {} GET /_search { , } h ...

  6. CAP带你轻松玩转ASP.NETCore消息队列

    CAP是什么? CAP是由我们园子里的杨晓东大神开发出来的一套分布式事务的决绝方案,是.Net Core Community中的第一个千星项目(目前已经1656 Start),具有轻量级.易使用.高性 ...

  7. __attribute__((format(printf, a, b)))

    最近,在看libevent源码,第一次看到__attribute__((format(printf, a, b)))这种写法.因此,在这里记录下用法. 功能:__attribute__ format属 ...

  8. sql server的for xml path与变通的行转列

    SQL Server中有提供一个FOR XML PATH的子句(不知道能不能叫函数),用来将查询结果行输出成XML格式,我们可以通过这个语法做一些变通实现一些特定的功能,比如说行转列.要会变通的话,当 ...

  9. C#中字符串的操作大全

    一.C#中字符串的建立过程 例如定义变量 strT="Welcome to "; strT+="www.cuit.edu.cn"; 程序首先创建一个System ...

  10. c# winform devexpress TreeList过滤和绑定

    /// <summary> /// 模糊查询 /// </summary> /// <param name="str"></param&g ...