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文件 字体设置三种方式相关推荐

  1. sass文件编译的三种方式【舒】

    [舒:]sass文件编译的三种方式 方式一: 1.webstorm打开evtGulp项目或者mcake-activity项目 2.中,开启gulp->default/develop,启动watc ...

  2. 用python打开文件夹的三种方式

    用python打开文件夹的三种方式 一.利用explorer.exe import os# 利用explorer.exe执行 start_directory = r'C:\代码\软件包' os.sys ...

  3. Java生成唯一标识码的三种方式

    Java生成唯一标识码的三种方式 前言 我们经常会遇到这样的场景,需要生成一个唯一的序列号来表明某一个数据的唯一性,在单节点的应用中我们可以简单地使用一个自增的整型来实现实现,但是在分布式情况下这个方 ...

  4. itextpdf添加表格元素_itext生成pdf文件-表格

    生成pdf常用的插件有iReport.和itext,这里将使用itext生成pdf文件. 多于的话不说直接上demo和需要的jar,如果pdf中有图片要画的话可以用jfreeChart画. packa ...

  5. Java纯后端生成PDF格式报表的三种方案(包含echarts图表)

    最近做了一个奇葩的需求,研究了一下Java纯后端生成PDF报表的方案,顺便将研究的方案做个总结复盘,分享一下. 需求分析:Java后端定时任务统计汇总成报表数据,并生成PDF格式的报表文件,并通过邮件 ...

  6. 怎么编辑PDF文件?分享三种好用的编辑方法

    怎么编辑PDF文件中的内容呢?大家在日常使用PDF文件的过程中肯定遇到过需要编辑文件的需求,因为我们不能保证每个文件中的内容都不会出错,问题是PDF文件不容易改动,我们怎么做才能够编辑PDF文件呢?不 ...

  7. 生成二维码的三种方式

    一:二维码的概念 二维条码(2-dimemsional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的图形 二: 二维码的分类 通常分为三 ...

  8. 获取class文件对象的三种方式

    package cn.learn_01;/** 反射:就是通过class文件对象,去使用该文件中的成员变量,构造方法,成员方法.* * Person p = new Person();* p.使用* ...

  9. jquery上传图片_文件上传三种方式

    来源:python宝典    链接: https://mp.weixin.qq.com/s/YUplCQDfAucA_rS8E1T6WA 需求 上传图片在页面显示 Form表单上传 <html ...

最新文章

  1. pat天梯赛L1-050. 倒数第N个字符串
  2. GDCM:Dicom文件重复的PCDE测试程序
  3. 【深入理解JVM】JVM概述
  4. 大剑无锋之Spark中的Driver是什么?【面试推荐】
  5. 如果可以,我们一起留在竹山。
  6. python——time模块实现指定时间触发器
  7. 如何在SQL Server 2016中使用R合并和拆分CSV文件
  8. “搞机器学习没前途”
  9. 江苏省计算机二级python往年卷_历年江苏省计算机二级考试真题及答案2008-2009
  10. 【Android】iOS开发中xconfig和script脚本的使用
  11. 启动虚拟机报错:.vmss”还原虚拟机状态时出错。 错误导致继续运行操作失败。请保留挂起状态并纠正错误,或放弃挂起状态。
  12. 向量代数与空间解析几何
  13. 入坑codewars
  14. 字节跳动Android面试全套真题解析在互联网火了,系列教学
  15. 常见 Web 攻击介绍
  16. 2021年甘肃省安全员B证考试题及甘肃省安全员B证证考试
  17. 外贸行业薪资考核系统勤哲EXCEL服务器实现
  18. 爱奇艺黄金VIP会员怎么免费领取升级星钻VIP会员在电视上看奇异果TV?
  19. 发现一个超级简单下载17素材网的下载的方法,在这里分享一下。
  20. Thinkphp5三级分销视频播放系统源码带试看功能

热门文章

  1. HTML资源未找到,加载资源失败:服务器响应状态为404(未找到)
  2. @Transactional 详解 示例
  3. 磁盘阵列柜 和存储有什么区别
  4. linux 定时关机命令
  5. 设计模式(四)行为型模式介绍及实例(上)
  6. JUC笔记(三)多线程的核心
  7. 图解angr中两种CFG的区别
  8. 3344avd_AVD生根
  9. BGA锡球选择与PITCH的关系
  10. POJ 3696 神TM数论