首先需要导入所需工具类

<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>fontbox</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.1</version>
</dependency><dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.1.19</version>
</dependency>

1. PDF转图片的方法

for那里看看是几张图片。 几页。根据页数进行转

/***
* PDF文件转PNG图片,全部页数
*
* @param PdfFilePath pdf完整路径
* @param dpi dpi越大转换后越清晰,相对转换速度越慢
* @return
*/
public static String pdf2Image(String PdfFilePath, String dstImgFolder, int dpi) {File file = new File(PdfFilePath);
PDDocument pdDocument;
try {String imgPDFPath = file.getParent();
int dot = file.getName().lastIndexOf('.');
String imagePDFName = file.getName().substring(0, dot); // 获取图片文件名
String imgFolderPath = dstImgFolder;pdDocument = PDDocument.load(file);
PDFRenderer renderer = new PDFRenderer(pdDocument);
/* dpi越大转换后越清晰,相对转换速度越慢 */
StringBuffer imgFilePath = null;
for (int i = 1; i < 2; i++) {String imgFilePathPrefix = imgFolderPath + File.separator + imagePDFName;
imgFilePath = new StringBuffer();
imgFilePath.append(imgFilePathPrefix);
imgFilePath.append(".png");
File dstFile = new File(imgFilePath.toString());
BufferedImage image = renderer.renderImageWithDPI(i, dpi);
ImageIO.write(image, "png", dstFile);
}
System.out.println("PDF文档转PNG图片成功!");
return imgFilePath.toString();
} catch (IOException e) {e.printStackTrace();
return null;
}
}

2. 调用这个方法 生成BASE64数据

String s = wpath + BRCA + "-" + CTNND1_15951 + "-KMplot.pdf";
//转换返回图片地址
String s1 = pdf2Image(s, wpath, 300);
File file = new File(s1);
//把图片转换为BASE64数据
FileInputStream inputFile = new FileInputStream(file);
byte[] buffer = new byte[(int) file.length()];
inputFile.read(buffer);
inputFile.close();
String ss = new BASE64Encoder().encode(buffer);

3. 使用ajax的方式将图片数据取回。直接设置如IMG标签中

img就是取回的数据

<img id="ImagePic" src="https://img-blog.csdnimg.cn/2022010619340091204.png'+img+'" alt="Base64 encoded image" style="width:600px;" />

完整的ajax代码

var index = layer.load();
$.ajax({type:"post",
dataType:"json",
contentType:'application/json;charset=UTF-8',
url:"getTnImg",
data:JSON.stringify(data),
success:function(resp){layer.close(index);
var img = resp.img;
var html = '<img id="ImagePic" src="https://img-blog.csdnimg.cn/2022010619340091204.png'+img+'" alt="Base64 encoded image" style="width:600px;" />';
layer.open({type: 1,
skin: 'layui-layer-rim', //加上边框
area: ['50%', '90%'], //宽高
content: html
});
},error:function(XMLHttpRequest,textStatus,errorThrown) {console.log(XMLHttpRequest.status);
console.log(XMLHttpRequest.statusText);
}
});

Java PDF转换成图片并输出给前台展示相关推荐

  1. java pdf输出图片_Java PDF转换成图片并输出给前台展示

    首先需要导入所需工具类 org.apache.pdfbox fontbox 2.0.1 org.apache.pdfbox pdfbox 2.0.1 cn.hutool hutool-all 4.1. ...

  2. PDF转换成图片(Java pdfbox实现 附中文乱码解决方案)

    PDF转换成图片(Java pdfbox实现) pdf转成图片在java中主流的做法就是pdfbox和icepdf 然而我选择pdfbox 废话不多说上代码 引入依赖 <!--pdfbox--& ...

  3. 纯java pdf转换成html,java pdf转换html代码

    java pdf转换html代码 [2021-02-03 00:56:42]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(&quo ...

  4. android开发将h5转换成pdf_如何将PDF转换成图片?搞定PDF格式转换,就用这招就够了!...

    原标题:如何将PDF转换成图片?搞定PDF格式转换,就用这招就够了! 在我们日常学习和日常工作中,我们有时候会遇到要使用到PDF中某一部分的情况,这时候我们可以将PDF文件转成图片.有什么办法可以把P ...

  5. 怎么把pdf转换成图片?这个方法你值得拥有

    想要高效率的工作,除了需要大家合理安排时间之外,一些能够辅助高效工作的工具也是必不可少的.就拿要把一份pdf文件转换成若干图片来说,如果不知道方法,找不到合适的转换工具,那么想要完成这一任务,势必要花 ...

  6. 几个方法,教你PDF转换成图片怎么做?

    在科技日益发展的今天,电子文档成了许多人的首选,因为电子文件保存时间比纸质文件长.而PDF格式的文件因为其较高的安全性和便捷性更是受到更多的青睐.但是当学生党或者一些建筑设计师等与艺术相关的人在想要使 ...

  7. 怎么把pdf转换成图片?

    相信很多人都使用pdf文件,为了工作的方便,我们可以把pdf转换成图片来使用,也可以把图片转换成pdf来使用,同样可以将pdf跟其他文件相互转换着来使用.如果要想快速轻松的转换,那么就要在电脑上面下载 ...

  8. C#技术分享【PDF转换成图片——13种方案】

    1.[O2S.Components.PDFRender4NET.dll],第三方DLL,可以实现PDF转图片,支持32位系统.64位系统 官方试用版的dll左上角会有一排红色水印,下面这个是破解版的没 ...

  9. 怎么把PDF转换成图片?这几种转换方法都可以做到

    怎么把PDF文件转换成图片呢?大家在使用PDF文件的时候,很多情况下不仅是用来发送文件,还会用来阅读文件,如果只需要浏览文件中某部分内容的话,远没有图片使用的方便,我们可以将这部分内容转换成图片来更加 ...

  10. pdf转换成jpg python_【PDF转图片】如何将PDF转换成图片格式--Python

    可能会有人问,很多PDF阅读软件都是可以直接将PDF文件保存成图片格式的,为什么非得用Python?? 使用Python(代码)的优势就在于可以批量操作,试想,如果你有成百上千的PDF文件,你很有可能 ...

最新文章

  1. 与15级新加入团队同学的约定
  2. 数据库学习day_03:关联关系/ 关联查询/ JDBC
  3. 浅谈PVID和VID区别
  4. python怎么输入两个数然后求差值_python两个日期之间天差值获取
  5. php7 cms,PHP7CMS 无条件前台GETSHELL
  6. Python|520表白神器
  7. windows 搜索文件
  8. c语言基础符号,C语言符号大全。陆续更新基础知识给新人提供。(申精)
  9. Spring异步任务处理,@Async的配置和使用
  10. 自动驾驶各大传感器介绍-硬件篇
  11. 设计模式(三) 抽象工厂模式
  12. java short 转char_byte,short,char的类型转换
  13. 专科计算机教育的现状,探析高职计算机专业英语教学现状
  14. 服务器连接不上的处理方式
  15. 按键精灵制作自用游戏脚本所需的简单操作
  16. Dining (匹配,最大流)
  17. 用数组来实现一个循环队列
  18. 解决this application failed to start
  19. python集合增加元素_python集合的新增元素方法整理
  20. 搭建easy-mock数据模拟服务器

热门文章

  1. 《人性的弱点全集》- [美]戴尔·卡耐基/著
  2. Androidadb驱动实现原理
  3. 浩辰cad电气2021 安装教程
  4. 小白一起学Android studio 创建项目
  5. nginx.conf配置外部 .conf文件
  6. (9)LICEcap——PC端动图创建工具
  7. 菜鸟教程php模拟器,史上最强劲的android模拟器命令详解
  8. 聊聊Java那些事儿
  9. 如何判断三极管的集电极,基极和发射极?
  10. LiteFlow 开源编排规则引擎