当前位置: 首页 > news >正文

陕西省建设监理协会网站主页如何自己开发app软件

陕西省建设监理协会网站主页,如何自己开发app软件,网站建设费属于哪个税种,商丘网站建设求职简历由于工作需要,要从pdf文件中提取出图片保存到本地,项目中就引用到了Apache PDFBox库。 1 什么是Apache PDFBox? Apache PDFBox库,一个用于处理PDF文档的开源Java工具。它允许用户创建全新的PDF文件,操作现有的PDF文档&#xff0…

        由于工作需要,要从pdf文件中提取出图片保存到本地,项目中就引用到了Apache PDFBox库。

1 什么是Apache PDFBox?

        Apache PDFBox库,一个用于处理PDF文档的开源Java工具。它允许用户创建全新的PDF文件,操作现有的PDF文档,以及从PDF文件中提取内容等。

1.1 Apache PDFBox的主要功能

  • Extract Text:从PDF文件中提取Unicode文本。
  • Split & Merge:将单个PDF拆分成多个文件,或将多个PDF文件合并为一个文件。
  • Fill Forms:从PDF表单中提取数据或填写PDF表单。
  • Preflight:根据PDF/A-1b标准验证PDF文件。
  • Print:使用标准Java打印API打印PDF文件。
  • Save as Image:将pdf文件保存为图像文件,如PNG或JPEG。
  • Create PDFs:从头开始创建新的PDF文件,包含嵌入字体和图像。
  • Signing:对PDF文件进行数字签名。

1.2 Apache PDFBox的组件

1.3 Apache PDFBox相关依赖

PDFBox版本JDK最低版本Maven版本
PDFBox4.0.0-SNAPSHOTJDK 11Maven 3
PDFBox 3.0.xJDK 8
(目前测试进行到Java 19)
Maven 3
PDFBox 2.0.xJDK 7Maven 3

2 从pdf中提取图片代码实现

2.1 SpringBoot工程引入依赖

该SpringBoot项目使用Java8。

<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.21</version>
</dependency><dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.29</version>
</dependency>

2.2 测试代码

import org.apache.pdfbox.cos.COSName;  
import org.apache.pdfbox.pdmodel.PDDocument;  
import org.apache.pdfbox.pdmodel.PDPage;  
import org.apache.pdfbox.pdmodel.PDResources;  
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;  import javax.imageio.ImageIO;  
import java.awt.image.BufferedImage;  
import java.io.File;  
import java.io.FileOutputStream;  
import java.io.IOException;  
import java.util.Iterator;public class PdfGetJpg {public static void main(String[] args) {// 创建文件对象File file = new File("C:\\test.pdf");export(file);}private static void export(File file) {String fileName = file.getName().substring(0, file.getName().indexOf('.'));PDDocument document = null;try {//解析PDF并加载document =  PDDocument.load(file);//获取索引为0的页面(也就是获取第一页)PDPage page = document.getPage(0); // 可以通过获取页数进行循环每一页//获取页面所需的任何资源的字典PDResources resources = page.getResources();//返回XObject资源的名称Iterable<COSName> cosNames = resources.getXObjectNames();if(cosNames != null) {Iterator<COSName> cosNameIterator = cosNames.iterator();while (cosNameIterator.hasNext()) {COSName cosName = cosNameIterator.next();//判断给定名称的XObject资源是否为图像if(resources.isImageXObject(cosName)) {PDImageXObject pdImage = (PDImageXObject) resources.getXObject(cosName);BufferedImage image = pdImage.getImage();try(FileOutputStream fileOutputStream = new FileOutputStream(file.getParentFile().getAbsolutePath()+ File.separator + fileName + ".jpg")) {//输出图片到指定位置ImageIO.write(image, "jpg", fileOutputStream);fileOutputStream.flush();} catch (IOException e) {System.out.println("输出文件失败:" + fileName + e.getMessage());}}}}} catch (IOException e) {System.out.println("提取失败:" + fileName);} finally {try {document.close();} catch (IOException e) {e.printStackTrace();}}}}

PDFBox的其他操作具体可查看API文档:

感谢你看到了现在,最后别忘了点个赞哦!

http://www.yayakq.cn/news/670995/

相关文章:

  • 做网站什么公司好微信怎么开店铺小程序
  • 做资讯的网站网站建设需要的东西
  • 阿盟住房与建设局门户网站公司网站建设价位
  • 网站建设的策划文案崇信县门户网站留言首页
  • 广东省广州市佛山市seo工作流程图
  • 网站建设费用申请网站建设定位
  • 帮企业做网站前景怎么样制作网页第一件事就是选定一种
  • 做网站公司-深圳信科企业门户网站需求文档
  • 建设部网站哪里可以报名考监理员国外作品集网站
  • 怎么到百度做网站南宁江南区网站制作价格
  • 做字幕网站有哪些做微商如何引流推广?怎么找客源?
  • 专门做预言的网站安云自助建站系统源码
  • 网站域名hk果农在哪些网站做推广
  • 定制网站制作教案怎么写模板
  • 网站一年维护费用wordpress 中文cms模版
  • 网站建设 就业方向app音乐网站开发
  • 昆明网站托管企业企业网站宣传册应该哪个部门做
  • 网站技术解决网站改版是什么
  • 怎么做视频网站电子商务网站建设规划书范文
  • html5制作网站首页用jsp做的网站需要什么工具栏
  • 优质的网站自助建站注册域名费用一般多少钱
  • 做网站开发的是不是程序员prower wordpress
  • 成都 视频网站建设网站地图开发
  • wordpress搭建的知名网站沈阳个人网站建设
  • 深圳网站商城建设深圳市网站推广公司
  • 做类图的网站wordpress 获取作者id
  • 怎么做qq刷赞等网站企业为什么要建立战略联盟
  • 网站建设的步骤和要点宿州网站建设工作室
  • 网站建设规划文案网站开发属于什么费用
  • 常用网站建设工具全球商业网