一、首先是,使用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. zz【重磅】微软开源自动机器学习工具 - NNI

    [重磅]微软开源自动机器学习工具 - NNI 在机器学习建模时,除了准备数据,最耗时耗力的就是尝试各种超参组合,找到模型最佳效果的过程了.即使是对于有经验的算法工程师和数据科学家,有时候也很难把握其中 ...

  2. Linux上zookeeper+dubbo-admin的安装及使用

    空linux安装,需要先安装JDK,mysql,tomcat等 一. dubbo-admin依赖外置tomcat. tomcat依赖JDK. 首先要安装JDK,tomcat,顺便安装mysql 安装J ...

  3. 4.Go-结构体、结构体指针和方法

    4.1.结构体 结构体:将一个或多个变量组合到一起形成新的类型,这个类型就是结构体,结构体是值类型 定义结构体和赋值 //Learn_Go/main.go package main import &q ...

  4. VMWARE在UEFI下启动PE.ISO

    1.编辑虚拟机设置→选项→高级→通过EFI而非BIOS引导勾选. 2.虚拟机→电源→打开电源时进入固件,进入之后修改光驱为第一引导. 3.挂载PE.ISO,启动时虚拟机顶部出现Press any ke ...

  5. Vue插槽详解 | 什么是插槽?

    作者 | Jeskson 来源 | 达达前端小酒馆 什么是插槽?插槽的指令为v-slot,它目前取代了slot和slot-scope,插槽内容,vue实例一套内容分发的api,将slot元素作为承载分 ...

  6. [LeetCode] 673. Number of Longest Increasing Subsequence 最长递增序列的个数

    Given an unsorted array of integers, find the number of longest increasing subsequence. Example 1: I ...

  7. STM32调试,发现HAL_Init();之后无法调试,甚至无法让程序停下来

    症状 最近开始学习STM32Cube,发现新建工程后无法正常调试,过了HAL_Init();之后就无法继续调试了. 无法进行让程序暂停以及停止等操作.并在输出窗口不断刷出 ERROR: Can not ...

  8. Clean Code 笔记 之 第二章

    你是否真正的会命名 前言 这是我第二次看这本书了(Clean Code)的时候,第一次看的时候是,看到某世界五百强在他们的代码中我竟然看不到一句注释,现在我还记得当时的情景,当我Download 下第 ...

  9. Destoon手机搜索点击提示 http 403 forbidden解决方法

    以下是网上搜到的答案: 最近发现用destoon开发的手机版网站,在手机版百度搜素网站的时候,点击之后出现 http 403 forbidden的弹出窗.必须再次的刷新网页才可以打开网站.出现这个问题 ...

  10. logger.error打印完整的错误堆栈信息

    使用Spring Boot项目中的日志打印功能的时候,发现调用Logger.errror()方法的时候不能完全地打印出网站的错误堆栈信息,只能打印出这个错误是一个什么错误. 为什么呢,原因在于这个方法 ...