当前位置: 首页 > article >正文

com.lowagie.text.DocumentException: Font ‘STSong-Light‘ with ‘UniGB-UCS2-H‘

处理word转pdf中文缺失时遇到的问题
异常信息:com.lowagie.text.DocumentException: Font ‘STSong-Light’ with ‘UniGB-UCS2-H’
版本问题,用的是com.lowagie.text1.0.6处理中文字体 版本较低适配不了STSong-Light字体
可以将STSong-Light更换为simsun.ttf "UniGB-UCS2-H"替换为BaseFont.IDENTITY_H 就可以了

问题代码:

 PdfOptions options = PdfOptions.create();// 中文字体处理options.fontProvider(new IFontProvider() {@Overridepublic Font getFont(String familyName, String encoding, float size, int style, java.awt.Color color) {try {BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);Font fontChinese = new Font(bfChinese, 12, style, color);if (familyName != null)fontChinese.setFamily(familyName);return fontChinese;} catch (Exception e) {e.printStackTrace();return null;}}});PdfConverter.getInstance().convert(doc, targetStream, options);

更改后代码 亲测可行

 PdfOptions options = PdfOptions.create();// 中文字体处理options.fontProvider(new IFontProvider() {@Overridepublic Font getFont(String familyName, String encoding, float size, int style, java.awt.Color color) {try {BaseFont bfChinese = BaseFont.createFont("simsun.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);Font fontChinese = new Font(bfChinese, 12, style, color);if (familyName != null)fontChinese.setFamily(familyName);return fontChinese;} catch (Exception e) {e.printStackTrace();return null;}}});PdfConverter.getInstance().convert(document, out, options);

注意:
字体需要自己下载 放在项目的resources内

http://www.lryc.cn/news/2414189.html

相关文章:

  • VBox 启动虚拟机失败 - NtCreateFile(\Device\VBoxDrvStub)
  • [精华]■■■关于windows installer出错的解决方案■■■
  • border和字体类型知识点笔记
  • 枚举进程,枚举窗口
  • C#中遍历所有的性能计数器PerformanceCounter
  • 中国大陆网站TOP100
  • 云的基本概念(公有云、私有云、 IaaS、PaaS、SaaS)
  • Dubbo 入门理论学习
  • Google的人体浏览器
  • Matlab的regionprops详解 连通区域
  • UCloud成首个通过乌云认证的云计算平台
  • linux修改index属性,selectedIndex 属性
  • 转贴:网友line写的火鸟字幕合并器教程
  • for的几种用法
  • MATLAB plotyy总结
  • 纳什均衡和帕累托最优
  • 计算机编程术语总结
  • 深入浅出WPF(一)
  • Cocoa 框架
  • windows C++多线程(三):线程终止结束ExitThread与TerminateThread
  • 关于delphi软件运行出现Invalid floating point operation的错误的解决办法
  • 运维自动化概述
  • Unity3D AVProVideo开始播放跟播放完成
  • 一个坑
  • 驻极体麦克风简介
  • window.history.go(-1)和window.location.go(-1)区别
  • 【毕业设计源码】PHP网上商城管理系统
  • VC6.0下载和安装教程
  • 半导体制冷片-热电效应简介
  • 【Oracle】常用Oracle基础知识