一、引入依赖

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

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

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

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

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

  3. Qt做发布版,解决声音和图片、中文字体乱码问题

    Qt做发布版,解决声音和图片.中文字体乱码问题 2011-06-25 12:27 542人阅读 评论(2) 收藏 举报 前些天做Qt发布版,发现居然不显示图片,后来才发现原来还有图片的库没加!找找吧, ...

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

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

  5. 使用HttpClient MultipartEntityBuilder 上传文件,并解决中文文件名乱码问题

    使用HttpClient MultipartEntityBuilder 上传文件,并解决中文文件名乱码问题 参考文章: (1)使用HttpClient MultipartEntityBuilder 上 ...

  6. linux中文方块复制,linux安装中文方块乱码现象

    ​由于某些原因系统安装时未安装中文支持,导致后续应用出现中文方块乱码现象,解决方法很简单,当然不是重装,只需以下三步即可搞定. 1.安装中文包: #yum -y groupinstallchinese ...

  7. 使用pdfBox实现pdf转图片出现中文方块乱码 简单修改源码解决

    参考文章 问题排查:使用pdfbox将pdf转image时STSong-Light字体中文乱码 pdfbox版本是2.0 日志中打印出类似这样的日志(例:Using fallback XXX for ...

  8. JAVA利用pdfbox将pdf转图片

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

  9. 使用pdfbox进行pdf和图片之间的转换

    文章目录 简介 引入依赖 pdf转换成图片 图片合成pdf 多个pdf合成1个pdf 简介 pdfbox是Apache开源的一个项目,支持pdf文档操作功能. 官网地址: https://pdfbox ...

最新文章

  1. 每天一个知识点linux(八)手动创建交换分区
  2. mybatis mapper xml文件的导入方式和查询方式
  3. mysql 连接 分组_详解MySQL中的分组查询与连接查询语句
  4. java assert使用场景_Java线程池的四种用法与使用场景
  5. hdu max sum
  6. 利用CSS使元素在水平方向或水平,竖直同时居中
  7. 经典最短路算法的原理启示
  8. 【狂神MySQL笔记】常用命令行语句(1)
  9. 15道AI 机器学习笔试题(暂时没有答案)
  10. 单片机ISP烧录原理
  11. 给程序员推荐的一款机械键盘
  12. 基于Java毕业设计/疫情展示平台源码+系统+mysql+lw文档+部署软件
  13. tbase安全和脱敏
  14. 开发环境搭建——从零到实盘1
  15. win10 python3.6安装numpy路径报错_Python3.6的组件numpy的安装 猪悟能
  16. Java流程控制练习题
  17. 《Optimising the selection of samples for robust lidar camera calibration》论文解读
  18. Android11对比IOS14,iPhone11升级至iOS14,对比苹果iOS13,迎来3大新变化
  19. PAT 1026 Table Tennis (30分)
  20. php 友盟推送角标,android集成友盟推送实现离线在线推送及桌面图标角标设置

热门文章

  1. 嵌入式分享合集144
  2. python turtle 小乌龟 编辑动画(24)
  3. 鼠标滚动调整图片大小(css3 zoom 放大缩小)
  4. 花千骨服务器无响应,花千骨出现游戏闪退 解决闪退方案
  5. 万国觉醒迁服务器显示该王国还未开放,万国觉醒怎么迁城到联盟其他王国
  6. 智能机房动力环境集中监控管理系统
  7. 景安服务器怎么上传网站程序,Web服务器是如何被应用服务器“收编”的?
  8. 中国(温州)数安港“2022数据智能夏令营”圆满收官!
  9. 好用的chrome浏览器网页翻译插件
  10. jsp汽车租赁系统ssh