一、引入依赖

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转图片,解决中文方块乱码等问题相关推荐

  1. Ubuntu下Java使用pdfbox将pdf转换为图片的方法及问题

    Ubuntu下Java使用pdfbox将pdf转换为图片的方法及问题 使用pdfbox-2.0.3和fontbox-2.0.3,实现pdf转图片功能. 官方手册链接: http://pdfbox.ap ...

  2. java web乱码_【SpringBoot WEB 系列】RestTemplate 之中文乱码问题 fix

    [WEB 系列]RestTemplate 之中文乱码问题 fix 在 RestTemplate 基础用法博文中,post json 表单时,会发现存在中文乱码问题,本文主要介绍对应的解决方案 I. 中 ...

  3. linux 中文乱码 转png_使用pdfBox实现pdf转图片,解决中文方块乱码等问题

    一.引入依赖 org.apache.pdfbox fontbox 2.0.13 org.apache.pdfbox pdfbox 2.0.13 二.PDF转PNG代码 String pdfBase64 ...

  4. java scp 传文件乱码_转-linux 打开移动硬盘中的文本文件显示为乱码

    我最近发现很奇怪的问题,为什么我的Linux 明明可以显示中文,也可以保存中文文本文件,但是打开移动硬盘中保存的文本文件还是乱码.最后搜索了半天才找到了答案. 编码不同, 点击(此处)折叠或打开 vi ...

  5. 使用PdfBox实现pdf转图片,解决中文方块乱码等问题

    一.引入依赖 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>fontbox&l ...

  6. java id3v2 乱码_【图】(更新最终解决办法)解决 奔驰 U盘 音乐信息乱码问题! 一招搞定~...

    多说了,相信各位车主看图秒懂.在网络搜索和尝试各种方法之后,总结了一,原想只列出最后的解决方法,但为了避免有人和我一样突发奇想浪费时间,把其它的一些没用的简单也讲一.(最终解决方案在最后) ...

  7. java pdfreader去除水印_(最新)JAVA使用Icepdf 5.0.6 pro的PDF转图片去掉水印的方法...

    最近发现PDF转图片各种开源工具PDFBOX.PDFRenderer.jpedal都不好用,中文各种蛋疼,但是试用了一下Icepdf相当强大,唯一不足就是生成的图片带有官方水印,下面介绍一下去掉官方水 ...

  8. 汉字乱码_彻底搞懂这烦人的编码与乱码!

    ❝ 我们平时在处理文本文件或者网络请求时,时不时会遇到乱码的情况,这篇文章就带你彻底搞懂编码和乱码 ❞ 首先,我们要知道,在计算机中,一切都是用0和1来表示的.普通的txt文件.或者客户端发过来的数据 ...

  9. JAVA利用pdfbox将pdf转图片

    1.引入依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</ar ...

最新文章

  1. 解決 IE10 浏览器无法使用 ASP.NET From 验证登录的问题
  2. 陶哲轩实分析 定理 8.2.2 (无限和的富比尼定理) 证明
  3. 常用的SSH注解标签
  4. 设计模式C++实现(11)——装饰模式
  5. how is my appointment opened in HCP
  6. k8s 分发证书文件 启动文件
  7. Redis应用场景(转)
  8. vue 地理位置定位_Vue 通过调用百度API获取地理位置-经度纬度省份城市
  9. Padavan设置无线中继
  10. 【预测模型】基于粒子群优化宽度学习实现预测matlab代码
  11. 【STM32】RCC复位和时钟控制器
  12. 阿里云ECS安骑士离线修复步骤
  13. MIPI RFFE协议使用不完全指南(附上代码详解和参考资料)第一部分
  14. 生物信息学: 使用python包GOATOOLS查询GO
  15. 微信小程序-提交表单成功弹窗提示
  16. T(n) = 25T(n/5)+n^2的时间复杂度
  17. 分享几个学英语的好工具
  18. 对于阿里云轻量应用服务器的介绍?它的优点?值得购买吗?
  19. inline, block, inline-block区别
  20. HDU - 2547 无剑无我

热门文章

  1. 原创超简单代码(1.19)
  2. 清除U盘内所占的隐藏空间(U盘容量突然变小了)
  3. 深算院入选“数字政府建设赋能计划”成员单位
  4. STOP 0X00000018关机蓝屏重启问题
  5. 写给大忙人看的谷歌搜索技巧
  6. linux安装perf工具
  7. 在Angular6中使用primeNG UI框架
  8. QuickTester对象,对象侦测器和对象库
  9. 2的次幂表示(递归求解)
  10. Linux下切换capslock和control键