https://blog.csdn.net/atpalain_csdn/article/details/50801639

博主说的前面是可行的,不过要补充些

1、按博主的操作完成之后,必须要重启linux才行!!!,既运行命令reboot

2、如果不知道哪些字体需要,可以把所有的字体安装上去

3、博主的应该linux应该是本地物理机的,如果是阿里云服务器什么的就不用u盘,当然也用不起,直接winscp什么的工具移动字体文件就是了。

亲测可行

附pdf转图片代码

package com.coolsn.modules.tb.pdf2image;import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;import javax.imageio.ImageIO;import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;import com.coolsn.common.weixin.common.log.Log;
/*** @author Think* 作者:yanjiaxin1996 * 来源:CSDN * 原文:https://blog.csdn.net/yanjiaxin1996/article/details/80561071 * * 完善:tb* 时间:2018-12-11* */
public class PDF2Image {static Logger log = Logger.getLogger(PDF2Image.class);/*** 转换后图片为png图片* @param pdfPath pdf文件所在路径* @param imageBasePath 图片保存目录路径,如果为为空则保存在于pdf相同目录,多张图片以文件名加index的形式* @param indexOfStart 开始页标* @param indexOfEnd 结束页标,如果结束页标大于最大页数则取最大页数,如果结束页标为0则取最大页数* @return*/public static boolean pdf2png(String pdfPath,String imageBasePath,int indexOfStart,int indexOfEnd) {Log logNormal = new Log("pdf2png");logNormal.append("pdfPath is "+pdfPath);logNormal.append("indexOfStart is "+indexOfStart);logNormal.append("indexOfEnd is "+indexOfEnd);// 将pdf装图片 并且自定义图片得格式大小File file = new File(pdfPath);if(!file.exists()) {logNormal.append("pdf 文件不存在!!");log.error(logNormal.get());return false;}String fileName = file.getName();String parentPath = file.getParentFile().getAbsolutePath();String fileWithoutExName = fileName.substring(0, fileName.lastIndexOf("."));if(StringUtils.isNotBlank(imageBasePath)) {parentPath = imageBasePath;}logNormal.append("image save path is "+parentPath);try {PDDocument doc = PDDocument.load(file);PDFRenderer renderer = new PDFRenderer(doc);int pageCount = doc.getNumberOfPages();if(indexOfEnd > pageCount || indexOfEnd <= 0) {//如果自定义结束页标超出了最大页数或是小于0,已最大页数为准indexOfEnd = pageCount;}for (int i = indexOfStart; i < indexOfEnd; i++) {BufferedImage image = renderer.renderImageWithDPI(i, 144); // Windows native DPI// BufferedImage srcImage = resize(image, 240, 240);//产生缩略图File imageFile = new File(parentPath+"/"+fileWithoutExName+"_"+(i+1)+".png");if(!imageFile.exists()) {//节约io,当目标未见不存在时才转换ImageIO.write(image, "PNG",imageFile );}}log.info(logNormal.get());return true;} catch (IOException e) {logNormal.append("转换出错");log.error(logNormal.get());e.printStackTrace();return false;}}public static void main(String[] args) {pdf2png("D:\\installpackage\\系统\\0_88344489_051001600111.pdf",null,0,0);}

pom文件添加
<!-- https://mvnrepository.com/artifact/org.apache.pdfbox/fontbox -->
        <dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>fontbox</artifactId>
            <version>2.0.9</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox -->
        <dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>pdfbox</artifactId>
            <version>2.0.9</version>
        </dependency>

其中的logNormal是自己的封装类,可以删了就好

对于pdf转图片linux乱码的解决相关推荐

  1. java代码pdf转图片中文乱码解决

    1:java代码 @RequestMapping("/pdfToPng")public void pdfToPng(HttpServletResponse response) th ...

  2. 关于如何解决mac电脑下载pdf之后出现名称乱码的解决方法

    @ 关于如何解决mac电脑下载pdf之后出现名称乱码的解决方法.(或解压文件乱码的问题) 首先呢,由于工作变更及工作需要(说白了是为了装逼),所以入手了一个mac电脑.但是入手之后就逐渐被逐渐被苹果的 ...

  3. Aspose生成pdf文档,linux乱码解决

    /*** @Description Word转PDF* @param inPath 源文件(Word)* @param outPath 目标文件(PDF)* @param watermark 水印字符 ...

  4. suse linux乱码,轻松解决Suse中文乱码问题

    随着我们学习Suse linux的深入,我们也面临着很多问题,今天所要讲的是Suse中文乱码问题,Suse linux有很多的知识需要我们了解,以便我们能更好的应用到学习生活中.我研究了一下Suse中 ...

  5. html 转 pdf 乱码,前端如何将HTML 生成PDF并避免中文乱码的解决方法

    前端生成PDF 如果是非 UTF-8 字符再生成PDF 的过程中容易乱码,且布局容易错乱,是因为前端很多呈现结果都是基于字体来绘制的,而前端又无法通过浏览器访问客户机的本地资源,因为权限的控制,所以容 ...

  6. java 读取pdf乱码_java itextpdf 5.5.6读取pdf中文文档乱码怎么解决

    Itext中文处理: 在Itext中的中文处理随着Itext的版本变化,采取的方法也在变化. 首先我来演示一下利用Itext-2.1.3.jar与iTextAsian.jar两个包来解决中文问题. 附 ...

  7. excel导入linux乱码怎么解决方法,,请大家都来看下,Excel导入有乱码?原因出在哪里?应该怎么解决?...

    老师,感谢你再次的回答. 我按照您的方法操作,转换utf-8另外为CSV格式,然后这个CSV格式在Notepad++ 编辑器中打开后,没有乱码,μ 符号(希腊字符)正确显示. 我想导入文件已经准备完毕 ...

  8. tomcat乱码怎么解决_PDF转word乱码怎么办?解决方法如此简单!

    PDF转word乱码怎么办?我们经常需要将PDF文件转换成word格式,因为这样就可以对pdf文件进行编辑啦.但是有不少朋友在将pdf转word的时候会出现乱码的问题,你头疼不已!别担心,下面小编要告 ...

  9. pdf另存为图片不清晰

    存在问题:pdf另存为图片不清晰? 解决方法: 使用别的pdf阅读器. 使用Adobe Acrobat 7.0 Professional 另存成图片后,图片清晰.

  10. word转PDF后mathtype公式乱码以及图片分辨率降低等一系列问题|完美解决

    word转PDF后mathtype公式乱码以及图片分辨率降低等一系列问题|完美解决 问题描述 最近在投一篇期刊论文,直接提交word文档,当时没有查看提交预览,一审审稿意见全是:公式乱码.公式乱码.乱 ...

最新文章

  1. 「SAP 技术」SAP BP显示供应商账户组时候的怪现象
  2. hexo绑定个人域名
  3. iOS6.0下获取通讯录用户列表
  4. Web 静态文件版本升级代码
  5. 【数据库】数据库常见操作指令
  6. Python中的time、datetime、calendar模块(时间模块)
  7. 求给定精度的简单交错序列部分和 (15 分)
  8. java 多线程4: java线程的优先级
  9. Oracle GoldenGate Director安装和配置(无图)
  10. 冰点还原精灵Deep Freeze for mac 系统还原工具
  11. Qt QDir 递归获取文件夹中的所有文件
  12. 蓝桥杯2014省赛——猜年龄(Java)
  13. Maven第6篇:生命周期 插件
  14. 背包问题变种:将数组分成两部分使得两部分的和的差最小
  15. python3封装微信分账功能
  16. python 微博图片爬虫 不用cookie
  17. 中国医师节丨华为IdeaHub用远程诊疗护佑人民健康,为医生减负
  18. 图解“管道过滤器模式”应用实例:SOD框架的命令执行管道
  19. list数据比对与list对象比对
  20. 手把手带你学python—牛客网python 机器学习 信息熵的计算

热门文章

  1. 微信小程序搭载node.js服务器(简)
  2. 输入输出阻抗,是怎么玩的?你会不?音频耦合电容怎么大小不一?
  3. 统信UOS升级Python3及安装spyder5
  4. 淘宝母婴购物数据分析
  5. Jquery实现确定取消对话框
  6. 微信支付宝刷步数_一劳永逸版(在用)
  7. matlab中图像格式转换
  8. lisp 获取横断面数据_AutoCADLISP二次开发辅助道路横断面测量成果检查
  9. 软件测试培训到底值不值得参加?
  10. 竹子的故事:送给那些坚持了很久却准备放弃的人 --- 厚积方能薄发