目录

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中的某一页作为缩略图相关推荐

  1. 使用itextpdf实现截取pdf文档第几页到第几页,进行分片

    itextpdf实现截取pdf文档第几页到第几页 起因:pdf文档太大,100M以上,导致前端根本无法显示.解决方案,后端进行pdf文档分片操作,例如十页十页的传给前端. 1.使用itextpdf 导 ...

  2. itext导出pdf中新加一页空白页面(itext 遇到的问题持续更新)

    itext开发遇到的问题(持续更新) 中文无法显示 在你的pom.xml 导入,一般来说就可以解决 <dependency><groupId>com.itextpdf</ ...

  3. pdfparser java_如何使用java从PDF中提取内容?

    在Java编程中,如何使用java从PDF中提取内容? 项目的目录结构如下 - Tika的工具包可从以下网址下载:http://tika.apache.org/download.html ,只下载:t ...

  4. python处理PDF-通过关键词定位-截取PDF中的图表

    代码来源:python处理PDF-通过关键词定位-截取PDF中的图表 最近需要对pdf做一些处理,在这篇文章的基础上进行了修改. 运行时出现一些报错: AttributeError: 'Matrix' ...

  5. 怎么把pdf中的某一页分出来?

    怎么把pdf中的某一页分出来?PDF格式的文档在日常生活中是非常常见的,相信大家都对其有所了解,并且经常使用.它的主要特点是不允许用户随意编辑其中的内容,当我们仅需要阅读时,PDF文档无疑是十分方便的 ...

  6. 怎么提取pdf中的某一页?试试这三种提取办法

    怎么提取pdf中的某一页?在我们日常办公和学习中,经常会遇到需要提取 PDF 文件中的某一页的情况.比如需要转发文件中的某一页给同事或朋友,或者需要将文件中的某一页用作资料整理.此时,提取 PDF 中 ...

  7. 如何提取pdf中的某一页?

    如何提取pdf中的某一页?为什么pdf文件越来越受到大家的喜欢呢?主要原因是pdf文件更加的稳定,不能被随意的修改编辑,正是由于这个原因也导致了pdf文件使用起来有些不方便.例如我想提取pdf文件的某 ...

  8. 几种方法快速地将pdf中的某一页删除

    如何把pdf中的某一页删除?PDF是当今电子文档领域中不可或缺的格式之一,其拥有独特的优点和广泛的应用.PDF文件可以在不同的操作系统和软件中打开,并且能够保持文档的完整性和格式化,这种跨平台和稳定性 ...

  9. 用Java读取pdf中的数据

    用Java简单的读取pdf文件中的数据: 第一步:下载PDFBox-0.7.2.jar.提供一个下载地址:[url]http://pdfhome.hope.com.cn/Resource.aspx?C ...

最新文章

  1. c语言超级经典400道题目,C语言超级经典400道题目.doc
  2. 在caffe上跑自己的数据
  3. 经常在比特币中看到的merkle树是什么?
  4. 棍子节快乐~ 顺便转一篇weka源码分析解析~【转自weka中文网】
  5. WebService学习笔记---CXF入门
  6. flex布局水平垂直 垂直_垂直和水平装饰
  7. 她是法国数学界的“花木兰”,高斯的“救命恩人”
  8. Linux中的终端、控制台、tty、pty等概念
  9. 运行VINS-mono:/home/tony-ws1/output/pose_graph/ not exists, trying to create it /home/tony-ws1/ou错误解决
  10. python自动化办公入门-[Python] 自动化办公 docx操作Word基础代码
  11. 大数据:HBase安装、配置及使用
  12. 富士通Fujitsu DPK2181H Pro 打印机驱动
  13. 质数合数相关操作python代码合集(比较全面,欢迎补充)
  14. 力促产学研结合 中国医学人工智能大会圆满落幕
  15. 华为策略路由原理与实验
  16. 【20191001】国庆七天长假安排
  17. UDP sendto频率过快导致发送丢包
  18. Android界面美化的一点点积累
  19. 沉痛悼念孙吉贵老师.........
  20. win10开机启动文件夹路径

热门文章

  1. Cannot connect to license server system. (-15,570:150 - Operation now in progress)
  2. CAD图纸怎么另外保存呢?
  3. 给定一个二维的 0-1 矩阵,其中 0 表示海洋,1 表示陆地。单独的或相邻的陆地可以形成岛屿,每个格子只与其上下左右四个格子相邻。求最大的岛屿面积。
  4. 使用mkcert工具生成受信任的SSL证书,解决局域网本地https访问问题
  5. 微信小程序调用时间的三种方法
  6. 计算机主板的选购技巧,如何选购主板 2017电脑主板选购指南【详解】
  7. 今天的码农女孩做了关于解决跨域的笔记
  8. 创建Vue脚手架并启动出现的报错及解决(总冠军版)
  9. Mac word 2016 编辑快捷键
  10. 互联网摸鱼日报(2023-01-31)