Java-截取PDF中的某一页作为缩略图
目录
Apache PDFBox是一个开源Java库,支持PDF文档的开发和转换。
引入依赖
业务代码
读取网络中的PDF文件与文件类型转换
如果本篇博客对您有一定的帮助,大家记得留言+点赞+收藏哦。
Apache PDFBox是一个开源Java库,支持PDF文档的开发和转换。
有以下中有功能 -
Extract Text - 使用PDFBox,您可以从PDF文件中提取Unicode文本。
Split & Merge - 使用PDFBox,您可以将单个PDF文件分成多个文件,并将它们合并为一个文件。
Fill Forms - 使用PDFBox,您可以在文档中填写表单数据。
Print - 使用PDFBox,您可以使用标准Java打印API打印PDF文件。
Save as Image - 使用PDFBox,您可以将PDF保存为图像文件,如PNG或JPEG。
Create PDFs - 使用PDFBox,您可以通过创建Java程序创建新的PDF文件,还可以包含图像和字体。
Signing - 使用PDFBox,您可以将数字签名添加到PDF文件。
有一个教程对PDFBox的介绍很详细,这里不再多说。
PDFBox - 快速指南_学习PDFbox|WIKI教程此方法接受文件对象作为参数,因为这是一个静态方法,您可以使用类名调用它,如下所示。. 此方法接受文件对象作为参数,因为这是一个静态方法,您可以使用类名调用它,如下所示。. 此方法接受文件对象作为参数,因为这是一个静态方法,您可以使用类名调用它,如下所示。. 此方法接受文件对象作为参数,因为这是一个静态方法,您可以使用类名调用它,如下所示。. 此方法接受文件对象作为参数,因为这是一个静态方法,您可以使用类名调用它,如下所示。https://iowiki.com/pdfbox/pdfbox_quick_guide.html
引入依赖
<!--start:PDF获取第一页的图片-->
<dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.20</version>
</dependency>
<!--end:PDF获取第一页的图片-->
业务代码
/*** 截取PDF中的某一页作为缩略图,并上传(保存)* @param pdfFileName* @return*/
public String PDFFramer(String pdfFileName){//将网络中的PDF文件转换成fileFile file = URLToFile(pdfFileName);//new File() 只能访问本地文件//将本地文件转换成file//File file = new File("C:\\Users\\Administrator\\Downloads\\(重要必看).pdf");String pdfUrl="";try{// 打开来源 pdflog.info("开始截取PDF:");//PDDocument类的load()方法用于加载现有PDF文档PDDocument pdfDocument = PDDocument.load(file);//PDFRenderer的类将PDF文档呈现为AWT BufferedImage PDFRenderer pdfRenderer = new PDFRenderer(pdfDocument);// 提取的页码int pageNumber = 0;// 以300 dpi 读取存入 BufferedImage 对象int dpi = 300;//Renderer类的renderImage()方法在特定页面中渲染图像BufferedImage buffImage = pdfRenderer.renderImageWithDPI(pageNumber, dpi, ImageType.RGB);// 文件类型转换MultipartFile multipartFile = fileCase(buffImage);log.info("PDF开始上传:");pdfUrl = fileLoad(multipartFile);log.info("PDF上传成功:{}",pdfUrl);// 关闭文档pdfDocument.close();//删除临时文件String s = threadLocal.get();log.info("临时文件的目录:"+s);File f=new File(s);boolean delete = f.delete();log.info("文件是否删除"+delete);}catch (InvalidPasswordException e){e.printStackTrace();}catch (IOException e){e.printStackTrace();}return pdfUrl;
}
读取网络中的PDF文件与文件类型转换
/*** 读取网络中的PDF文件* @param url* @return*/
public File URLToFile(String url){log.info("读取FastDFS上的PDF");//保存临时文件--jar包的相对位置File file1 = new File("Temporary.pdf");try {URL url1 = new URL(url);FileUtils.copyURLToFile(url1,file1);} catch (IOException e) {e.printStackTrace();}File absoluteFile = file1.getAbsoluteFile();threadLocal.set(absoluteFile.toString());log.info("ppt已经存储到本地"+absoluteFile.toString());return file1;
}/*** 文件转换将BufferedImage转换成MultipartFile:为了文件上传* @param image* @return*/
public static MultipartFile fileCase(BufferedImage image){//得到BufferedImage对象// BufferedImage bufferedImage = JoinTwoImage.testEncode(200, 200, url);MultipartFile multipartFile= null;try {//创建一个ByteArrayOutputStreamByteArrayOutputStream os = new ByteArrayOutputStream();//把BufferedImage写入ByteArrayOutputStreamImageIO.write(image, "jpg", os);//ByteArrayOutputStream转成InputStreamInputStream input = new ByteArrayInputStream(os.toByteArray());//InputStream转成MultipartFilemultipartFile =new MockMultipartFile("file", "file.jpg", "text/plain", input);} catch (IOException e) {e.printStackTrace();}
return multipartFile;}
如果本篇博客对您有一定的帮助,大家记得留言+点赞+收藏哦。
Java-截取PDF中的某一页作为缩略图相关推荐
- 使用itextpdf实现截取pdf文档第几页到第几页,进行分片
itextpdf实现截取pdf文档第几页到第几页 起因:pdf文档太大,100M以上,导致前端根本无法显示.解决方案,后端进行pdf文档分片操作,例如十页十页的传给前端. 1.使用itextpdf 导 ...
- itext导出pdf中新加一页空白页面(itext 遇到的问题持续更新)
itext开发遇到的问题(持续更新) 中文无法显示 在你的pom.xml 导入,一般来说就可以解决 <dependency><groupId>com.itextpdf</ ...
- pdfparser java_如何使用java从PDF中提取内容?
在Java编程中,如何使用java从PDF中提取内容? 项目的目录结构如下 - Tika的工具包可从以下网址下载:http://tika.apache.org/download.html ,只下载:t ...
- python处理PDF-通过关键词定位-截取PDF中的图表
代码来源:python处理PDF-通过关键词定位-截取PDF中的图表 最近需要对pdf做一些处理,在这篇文章的基础上进行了修改. 运行时出现一些报错: AttributeError: 'Matrix' ...
- 怎么把pdf中的某一页分出来?
怎么把pdf中的某一页分出来?PDF格式的文档在日常生活中是非常常见的,相信大家都对其有所了解,并且经常使用.它的主要特点是不允许用户随意编辑其中的内容,当我们仅需要阅读时,PDF文档无疑是十分方便的 ...
- 怎么提取pdf中的某一页?试试这三种提取办法
怎么提取pdf中的某一页?在我们日常办公和学习中,经常会遇到需要提取 PDF 文件中的某一页的情况.比如需要转发文件中的某一页给同事或朋友,或者需要将文件中的某一页用作资料整理.此时,提取 PDF 中 ...
- 如何提取pdf中的某一页?
如何提取pdf中的某一页?为什么pdf文件越来越受到大家的喜欢呢?主要原因是pdf文件更加的稳定,不能被随意的修改编辑,正是由于这个原因也导致了pdf文件使用起来有些不方便.例如我想提取pdf文件的某 ...
- 几种方法快速地将pdf中的某一页删除
如何把pdf中的某一页删除?PDF是当今电子文档领域中不可或缺的格式之一,其拥有独特的优点和广泛的应用.PDF文件可以在不同的操作系统和软件中打开,并且能够保持文档的完整性和格式化,这种跨平台和稳定性 ...
- 用Java读取pdf中的数据
用Java简单的读取pdf文件中的数据: 第一步:下载PDFBox-0.7.2.jar.提供一个下载地址:[url]http://pdfhome.hope.com.cn/Resource.aspx?C ...
最新文章
- c语言超级经典400道题目,C语言超级经典400道题目.doc
- 在caffe上跑自己的数据
- 经常在比特币中看到的merkle树是什么?
- 棍子节快乐~ 顺便转一篇weka源码分析解析~【转自weka中文网】
- WebService学习笔记---CXF入门
- flex布局水平垂直 垂直_垂直和水平装饰
- 她是法国数学界的“花木兰”,高斯的“救命恩人”
- Linux中的终端、控制台、tty、pty等概念
- 运行VINS-mono:/home/tony-ws1/output/pose_graph/ not exists, trying to create it /home/tony-ws1/ou错误解决
- python自动化办公入门-[Python] 自动化办公 docx操作Word基础代码
- 大数据:HBase安装、配置及使用
- 富士通Fujitsu DPK2181H Pro 打印机驱动
- 质数合数相关操作python代码合集(比较全面,欢迎补充)
- 力促产学研结合 中国医学人工智能大会圆满落幕
- 华为策略路由原理与实验
- 【20191001】国庆七天长假安排
- UDP sendto频率过快导致发送丢包
- Android界面美化的一点点积累
- 沉痛悼念孙吉贵老师.........
- win10开机启动文件夹路径
热门文章
- Cannot connect to license server system. (-15,570:150 - Operation now in progress)
- CAD图纸怎么另外保存呢?
- 给定一个二维的 0-1 矩阵,其中 0 表示海洋,1 表示陆地。单独的或相邻的陆地可以形成岛屿,每个格子只与其上下左右四个格子相邻。求最大的岛屿面积。
- 使用mkcert工具生成受信任的SSL证书,解决局域网本地https访问问题
- 微信小程序调用时间的三种方法
- 计算机主板的选购技巧,如何选购主板 2017电脑主板选购指南【详解】
- 今天的码农女孩做了关于解决跨域的笔记
- 创建Vue脚手架并启动出现的报错及解决(总冠军版)
- Mac word 2016 编辑快捷键
- 互联网摸鱼日报(2023-01-31)