代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
Java PDF转换成图片并输出给前台展示
作者:
/ 发布于
2021/7/2
/
1314
首先需要导入所需工具类 <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="data:image/png;base64,'+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="data:image/png;base64,'+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); } });
试试其它关键字
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
贡献的其它代码
Label
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3