遇到 com.lowagie.text.DocumentException: Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized.
在利用iText.jar和iTextAsian.jar生成pdf文件时有时遇到了
Exception in thread "main" com.lowagie.text.DocumentException: Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized.
at com.lowagie.text.pdf.BaseFont.createFont(Unknown Source)
at com.lowagie.text.pdf.BaseFont.createFont(Unknown Source)
at com.lowagie.text.pdf.BaseFont.createFont(Unknown Source)
at timer.TestPdf.getPdf(TestPdf.java:34)
at timer.TestPdf.main(TestPdf.java:21)
这个错误。
经过查看iText-2.1.5.jar中的源码发现了在CJKFont.class中有这样两行代码
InputStream inputstream = getResourceStream("com/lowagie/text/pdf/fonts/cjkfonts.properties");cjkFonts.load(inputstream);inputstream.close();inputstream = getResourceStream("com/lowagie/text/pdf/fonts/cjkencodings.properties");cjkEncodings.load(inputstream);inputstream.close();
这是通过iTextAsian.jar中的配置文件来取字符编码的,由于iText.jar版本的不同,目录文件做了改动,例如在iText-5.0.6.jar中变成了下面这样
InputStream is = getResourceStream("com/itextpdf/text/pdf/fonts/cjkfonts.properties");cjkFonts.load(is);is.close();is = getResourceStream("com/itextpdf/text/pdf/fonts/cjkencodings.properties");cjkEncodings.load(is);is.close();
所以我们只需要调整iTextAsian.jar的目录结构即可。也可以像我这样为了适应2个版本的iText.jar,我建了2个目录如下。
特别提醒:在向pdf表单写入中文时,如果用默认的表单可能会出现中文不显示的问题,建议将默认生成的删掉,自己手动添加上去,并把字体设置为“宋体”。
遇到 com.lowagie.text.DocumentException: Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized.相关推荐
- 使用JasperReport 引擎PDF报表,因为iText版本升级,由原来的包名com.lowagie.text.pdf.fonts转化为com.itextpdf.text.pdf.fonts
使用JasperReport 引擎PDF报表,因为iText版本升级,由原来的包名com.lowagie.text.pdf.fonts转化为com.itextpdf.text.pdf.fonts,如果 ...
- 关于com.lowagie.text包的报错问题
关于com.lowagie.text包的报错问题 接手了一个maven项目,导入之后发现一直报错 提示我找不到这个包,在右侧的maven projects一栏中找了一下,也确实没有com.lowagi ...
- 解决Java.lang.NoClassDefFoundError:com/lowagie/text/Elemen的问题
正在写用itext导出word的项目,在pom.xml里写了以下代码下载itext 2-1-7.jar. <dependency><groupId>com.lowagie< ...
- 异常记录 之 nested exception is java.lang.NoClassDefFoundError: com/lowagie/text/pdf/PdfContentByte
nested exception is java.lang.NoClassDefFoundError: com/lowagie/text/pdf/PdfContentByte 在MVC 集成jaspe ...
- java 使用itext导出PDF文件,中文不显示问题解决
之前写的java 使用itext 导出pdf 发现有个问题,在今天使用的时候,发现一个问题,就是当单元格中写中文的时候,导出来的pdf中文不显示. java 使用itext导出PDF文件,图片文字左右 ...
- Java 使用jacob实现各类办公文档(ppt,Excel,word,text,imge)转换成PDF
//代码中都有注释,使用注解的地方大家可以略过 package com.frank.demo.file.common.util; import java.io.ByteArrayOutputStrea ...
- java 生成 pdf html转pdf 支持 中文 自定义模板
java 生成pdf DEMO 开发过程中遇到的坑 /** * 切记 css 要定义在head 里,否则解析失败 * css 要定义字体 * 字体中英文 https://www.cnblogs.com ...
- Spring Boot Freemark HTML 生成 PDF、生成水印Logo、docx文件生成PDF,Jar包运行可读取模板文件、字体文件
用于通过模板生成PDF,在项目中生成个人授权协议函.个人电子保单.流水报表,数据报表等,将HTML静态模板写出来后,将数据替换成动态数据即可. <!-- html2pdf --> < ...
- java pdf 中文_java-pdf-itext 生成pdf 文档(支持中文字体)
java-pdf-itext 生成pdf 文档(支持中文字体) itext 版本:2.1.7 package com.demo.preview; import java.io.ByteArrayOut ...
最新文章
- VS 2008 mfc 智能应用程序 调用 C# webservice.(二)(gsoap+wince)
- php获取一维,二维数组长度的方法(有实例)
- 在内网服务器中获得真正的客户端ip的方法
- linux如何挂载windows共享文件,linux如何挂载windows下的共享文件
- 毕业的答辩需要的要求(从校方的角度)
- DCMTK:测试dcmiod的代码序列宏实现
- Spring-----多环境中加载资源配置文件
- spring roo_使用Spring Roo进行概念验证
- 初识html 尝试图片标签 0907
- (76) Clojure: Why would someone learn Clojure? - Quora
- Linux 各类软件整理汇总
- 网页布局颜色搭配布局总结
- 智库说 | 杨宁:从城市管理走向城市治理 大数据将发挥更大作用
- Android 网易云信直播
- 全球及中国商业航天产业应用模式探析及投资布局态势分析报告2021-2027年版
- Sentinel-1 SAR数据与精密轨道数据下载
- Problem B: 小度挑战赛
- 解决火狐浏览器提示连接不安全或证书错误的问题
- 使用按键精灵自动截图并保存重命名
- 泰勒公式求e值——c语言算法实现
热门文章
- linux的可执行文件存放位置
- 在java中在包com.db_java基础试题及其答案 (1)
- Dell Inspiron 3650 +750ti 安装黑苹果
- Linux网络编程(网络七层协议,TCP/IP,三次握手四次挥手,TCP/UDP的区别)
- 关于使用Karate-实现上传文件接口测试方法总结
- linux怎样测试tty,ttylinux 设置
- 内网访问外网和外网访问内网的原理
- 小区宽带计费解决方案
- 《uniapp基础知识》学习笔记Day38-(Period2)全局文件一些常用的配置
- python语言程序设计基础(第2版) 嵩天 礼欣 黄天羽 著