对于pdf转图片linux乱码的解决
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乱码的解决相关推荐
- java代码pdf转图片中文乱码解决
1:java代码 @RequestMapping("/pdfToPng")public void pdfToPng(HttpServletResponse response) th ...
- 关于如何解决mac电脑下载pdf之后出现名称乱码的解决方法
@ 关于如何解决mac电脑下载pdf之后出现名称乱码的解决方法.(或解压文件乱码的问题) 首先呢,由于工作变更及工作需要(说白了是为了装逼),所以入手了一个mac电脑.但是入手之后就逐渐被逐渐被苹果的 ...
- Aspose生成pdf文档,linux乱码解决
/*** @Description Word转PDF* @param inPath 源文件(Word)* @param outPath 目标文件(PDF)* @param watermark 水印字符 ...
- suse linux乱码,轻松解决Suse中文乱码问题
随着我们学习Suse linux的深入,我们也面临着很多问题,今天所要讲的是Suse中文乱码问题,Suse linux有很多的知识需要我们了解,以便我们能更好的应用到学习生活中.我研究了一下Suse中 ...
- html 转 pdf 乱码,前端如何将HTML 生成PDF并避免中文乱码的解决方法
前端生成PDF 如果是非 UTF-8 字符再生成PDF 的过程中容易乱码,且布局容易错乱,是因为前端很多呈现结果都是基于字体来绘制的,而前端又无法通过浏览器访问客户机的本地资源,因为权限的控制,所以容 ...
- java 读取pdf乱码_java itextpdf 5.5.6读取pdf中文文档乱码怎么解决
Itext中文处理: 在Itext中的中文处理随着Itext的版本变化,采取的方法也在变化. 首先我来演示一下利用Itext-2.1.3.jar与iTextAsian.jar两个包来解决中文问题. 附 ...
- excel导入linux乱码怎么解决方法,,请大家都来看下,Excel导入有乱码?原因出在哪里?应该怎么解决?...
老师,感谢你再次的回答. 我按照您的方法操作,转换utf-8另外为CSV格式,然后这个CSV格式在Notepad++ 编辑器中打开后,没有乱码,μ 符号(希腊字符)正确显示. 我想导入文件已经准备完毕 ...
- tomcat乱码怎么解决_PDF转word乱码怎么办?解决方法如此简单!
PDF转word乱码怎么办?我们经常需要将PDF文件转换成word格式,因为这样就可以对pdf文件进行编辑啦.但是有不少朋友在将pdf转word的时候会出现乱码的问题,你头疼不已!别担心,下面小编要告 ...
- pdf另存为图片不清晰
存在问题:pdf另存为图片不清晰? 解决方法: 使用别的pdf阅读器. 使用Adobe Acrobat 7.0 Professional 另存成图片后,图片清晰.
- word转PDF后mathtype公式乱码以及图片分辨率降低等一系列问题|完美解决
word转PDF后mathtype公式乱码以及图片分辨率降低等一系列问题|完美解决 问题描述 最近在投一篇期刊论文,直接提交word文档,当时没有查看提交预览,一审审稿意见全是:公式乱码.公式乱码.乱 ...
最新文章
- 「SAP 技术」SAP BP显示供应商账户组时候的怪现象
- hexo绑定个人域名
- iOS6.0下获取通讯录用户列表
- Web 静态文件版本升级代码
- 【数据库】数据库常见操作指令
- Python中的time、datetime、calendar模块(时间模块)
- 求给定精度的简单交错序列部分和 (15 分)
- java 多线程4: java线程的优先级
- Oracle GoldenGate Director安装和配置(无图)
- 冰点还原精灵Deep Freeze for mac 系统还原工具
- Qt QDir 递归获取文件夹中的所有文件
- 蓝桥杯2014省赛——猜年龄(Java)
- Maven第6篇:生命周期 插件
- 背包问题变种:将数组分成两部分使得两部分的和的差最小
- python3封装微信分账功能
- python 微博图片爬虫 不用cookie
- 中国医师节丨华为IdeaHub用远程诊疗护佑人民健康,为医生减负
- 图解“管道过滤器模式”应用实例:SOD框架的命令执行管道
- list数据比对与list对象比对
- 手把手带你学python—牛客网python 机器学习 信息熵的计算