java pdfbox2 中文乱码_使用PdfBox实现pdf转图片,解决中文方块乱码等问题
一、引入依赖
org.apache.pdfbox
fontbox
2.0.13
org.apache.pdfbox
pdfbox
2.0.13
二、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如下。
————————————————
版权声明:本文为CSDN博主「胡峻峥」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_22845447/article/details/88386443
java pdfbox2 中文乱码_使用PdfBox实现pdf转图片,解决中文方块乱码等问题相关推荐
- Ubuntu下Java使用pdfbox将pdf转换为图片的方法及问题
Ubuntu下Java使用pdfbox将pdf转换为图片的方法及问题 使用pdfbox-2.0.3和fontbox-2.0.3,实现pdf转图片功能. 官方手册链接: http://pdfbox.ap ...
- java web乱码_【SpringBoot WEB 系列】RestTemplate 之中文乱码问题 fix
[WEB 系列]RestTemplate 之中文乱码问题 fix 在 RestTemplate 基础用法博文中,post json 表单时,会发现存在中文乱码问题,本文主要介绍对应的解决方案 I. 中 ...
- linux 中文乱码 转png_使用pdfBox实现pdf转图片,解决中文方块乱码等问题
一.引入依赖 org.apache.pdfbox fontbox 2.0.13 org.apache.pdfbox pdfbox 2.0.13 二.PDF转PNG代码 String pdfBase64 ...
- java scp 传文件乱码_转-linux 打开移动硬盘中的文本文件显示为乱码
我最近发现很奇怪的问题,为什么我的Linux 明明可以显示中文,也可以保存中文文本文件,但是打开移动硬盘中保存的文本文件还是乱码.最后搜索了半天才找到了答案. 编码不同, 点击(此处)折叠或打开 vi ...
- 使用PdfBox实现pdf转图片,解决中文方块乱码等问题
一.引入依赖 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>fontbox&l ...
- java id3v2 乱码_【图】(更新最终解决办法)解决 奔驰 U盘 音乐信息乱码问题! 一招搞定~...
多说了,相信各位车主看图秒懂.在网络搜索和尝试各种方法之后,总结了一,原想只列出最后的解决方法,但为了避免有人和我一样突发奇想浪费时间,把其它的一些没用的简单也讲一.(最终解决方案在最后) ...
- java pdfreader去除水印_(最新)JAVA使用Icepdf 5.0.6 pro的PDF转图片去掉水印的方法...
最近发现PDF转图片各种开源工具PDFBOX.PDFRenderer.jpedal都不好用,中文各种蛋疼,但是试用了一下Icepdf相当强大,唯一不足就是生成的图片带有官方水印,下面介绍一下去掉官方水 ...
- 汉字乱码_彻底搞懂这烦人的编码与乱码!
❝ 我们平时在处理文本文件或者网络请求时,时不时会遇到乱码的情况,这篇文章就带你彻底搞懂编码和乱码 ❞ 首先,我们要知道,在计算机中,一切都是用0和1来表示的.普通的txt文件.或者客户端发过来的数据 ...
- JAVA利用pdfbox将pdf转图片
1.引入依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</ar ...
最新文章
- 解決 IE10 浏览器无法使用 ASP.NET From 验证登录的问题
- 陶哲轩实分析 定理 8.2.2 (无限和的富比尼定理) 证明
- 常用的SSH注解标签
- 设计模式C++实现(11)——装饰模式
- how is my appointment opened in HCP
- k8s 分发证书文件 启动文件
- Redis应用场景(转)
- vue 地理位置定位_Vue 通过调用百度API获取地理位置-经度纬度省份城市
- Padavan设置无线中继
- 【预测模型】基于粒子群优化宽度学习实现预测matlab代码
- 【STM32】RCC复位和时钟控制器
- 阿里云ECS安骑士离线修复步骤
- MIPI RFFE协议使用不完全指南(附上代码详解和参考资料)第一部分
- 生物信息学: 使用python包GOATOOLS查询GO
- 微信小程序-提交表单成功弹窗提示
- T(n) = 25T(n/5)+n^2的时间复杂度
- 分享几个学英语的好工具
- 对于阿里云轻量应用服务器的介绍?它的优点?值得购买吗?
- inline, block, inline-block区别
- HDU - 2547 无剑无我