使用PdfBox实现pdf转图片,解决中文方块乱码等问题
一、引入依赖
<dependency><groupId>org.apache.pdfbox</groupId><artifactId>fontbox</artifactId><version>2.0.13</version> </dependency> <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.13</version> </dependency>
二、PDF转PNG代码
String pdfBase64 = "XXXXX"; PDDocument pdDocument = PDDocument.load(Base64Utils.decodeFromString(pdfBase64)); PDFRenderer renderer = new PDFRenderer(pdDocument); BufferedImage bufferedImage = renderer.renderImage(0); ImageIO.write(bufferedImage, "png", new File("xxx.png"));
三、PNG中文方块乱码
查看linux服务器上的字体库如下。
转换后的PNG如下。
日志中打印出类似这样的日志(例:Using fallback XXX for CID-keyed font STSong-Light),就说明系统没有安装STSong-Light字体,pdfbox使用XXX字体来替代了。如果出现方块,就说明没有这种字体,并且替代字体也没有,日志也有相应的其他提示。
四、linux添加字体库
可以选择STSong-Light字体,而我这里选择simsun.ttf字体。
#cd /usr/share/fonts/ // 进入系统自带的字体目录 #mkdir myfonts // myfonts 是你自己随便取得文件夹名字,一定要有这一步 #将字体文件拷贝到这个文件夹下,在cd /usr/share/fonts/目录下执行以下命令 #mkfontscale #mkfontdir #fc-cache -fv //更新字体缓存 #fc-list // 查看系统中所有得字体,可用于测试是否安装字体成功如果 /usr/share/fonts/ 目录当前用户没有权限,可以在 ~/.fonts/ 目录下新增字体库,操作步骤和上面一样。 注意:一定要创建字体对应的文件夹,如果字体直接放在fonts目录,不会生效。
新增字体之后,可以看到字体库列表中有如下 宋体 的字样了。
最终转换后正常的PNG如下。
使用PdfBox实现pdf转图片,解决中文方块乱码等问题相关推荐
- linux 中文乱码 转png_使用pdfBox实现pdf转图片,解决中文方块乱码等问题
一.引入依赖 org.apache.pdfbox fontbox 2.0.13 org.apache.pdfbox pdfbox 2.0.13 二.PDF转PNG代码 String pdfBase64 ...
- java pdfbox2 中文乱码_使用PdfBox实现pdf转图片,解决中文方块乱码等问题
一.引入依赖 org.apache.pdfbox fontbox 2.0.13 org.apache.pdfbox pdfbox 2.0.13 二.PDF转PNG代码 String pdfBase64 ...
- Qt做发布版,解决声音和图片、中文字体乱码问题
Qt做发布版,解决声音和图片.中文字体乱码问题 2011-06-25 12:27 542人阅读 评论(2) 收藏 举报 前些天做Qt发布版,发现居然不显示图片,后来才发现原来还有图片的库没加!找找吧, ...
- Ubuntu下Java使用pdfbox将pdf转换为图片的方法及问题
Ubuntu下Java使用pdfbox将pdf转换为图片的方法及问题 使用pdfbox-2.0.3和fontbox-2.0.3,实现pdf转图片功能. 官方手册链接: http://pdfbox.ap ...
- 使用HttpClient MultipartEntityBuilder 上传文件,并解决中文文件名乱码问题
使用HttpClient MultipartEntityBuilder 上传文件,并解决中文文件名乱码问题 参考文章: (1)使用HttpClient MultipartEntityBuilder 上 ...
- linux中文方块复制,linux安装中文方块乱码现象
由于某些原因系统安装时未安装中文支持,导致后续应用出现中文方块乱码现象,解决方法很简单,当然不是重装,只需以下三步即可搞定. 1.安装中文包: #yum -y groupinstallchinese ...
- 使用pdfBox实现pdf转图片出现中文方块乱码 简单修改源码解决
参考文章 问题排查:使用pdfbox将pdf转image时STSong-Light字体中文乱码 pdfbox版本是2.0 日志中打印出类似这样的日志(例:Using fallback XXX for ...
- JAVA利用pdfbox将pdf转图片
1.引入依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</ar ...
- 使用pdfbox进行pdf和图片之间的转换
文章目录 简介 引入依赖 pdf转换成图片 图片合成pdf 多个pdf合成1个pdf 简介 pdfbox是Apache开源的一个项目,支持pdf文档操作功能. 官网地址: https://pdfbox ...
最新文章
- 每天一个知识点linux(八)手动创建交换分区
- mybatis mapper xml文件的导入方式和查询方式
- mysql 连接 分组_详解MySQL中的分组查询与连接查询语句
- java assert使用场景_Java线程池的四种用法与使用场景
- hdu max sum
- 利用CSS使元素在水平方向或水平,竖直同时居中
- 经典最短路算法的原理启示
- 【狂神MySQL笔记】常用命令行语句(1)
- 15道AI 机器学习笔试题(暂时没有答案)
- 单片机ISP烧录原理
- 给程序员推荐的一款机械键盘
- 基于Java毕业设计/疫情展示平台源码+系统+mysql+lw文档+部署软件
- tbase安全和脱敏
- 开发环境搭建——从零到实盘1
- win10 python3.6安装numpy路径报错_Python3.6的组件numpy的安装 猪悟能
- Java流程控制练习题
- 《Optimising the selection of samples for robust lidar camera calibration》论文解读
- Android11对比IOS14,iPhone11升级至iOS14,对比苹果iOS13,迎来3大新变化
- PAT 1026 Table Tennis (30分)
- php 友盟推送角标,android集成友盟推送实现离线在线推送及桌面图标角标设置