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

网站建设申请空间重庆做网站设计

网站建设申请空间,重庆做网站设计,莱芜金点子招聘网,搜狗广告联盟由于工作需要,要从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/163566/

相关文章:

  • 建设交流网站提高工作效率总结心得
  • 工商局网站实名认证怎么做深圳网站建设seo
  • 怎么开发游戏软件谷歌seo好做吗
  • 千灯网站建设百度seo收录
  • 龙武工会网站怎么做档案信息网站建设的意义
  • 个人网站-个人主页作业如何查看网站建设的时间
  • 怎么在百度做网站微芒网站建设
  • 网站建设哪里接活南通优化网站公司
  • 家具网站开发设计论文四川整站优化关键词排名
  • 平阴网站建设费用房产网 最新楼盘价格
  • 上城区建设局网站微信小程序商城源代码
  • 嘉兴网站制作费用今天热搜前十名
  • 成都网站建设联系方式丹东市市政建设总公司
  • 海洋网站建设公司wordpress轻量级插件
  • 长沙产品网站建设网站一般用什么免费字体
  • 住房和城乡建设部网站园林一级中国建设会计协会网站
  • 网站做接口排线方法企业 cms
  • 如何建立自己网站平台wordpress 企业站教程
  • 专业低价建设微网站微商城怎么样女生就业前景最好的十大热门专业
  • 做外贸的网站域名怎么买中国核工业第五建设有限公司是国企吗
  • 做网站运营有前途么大气企业网站织梦模板
  • 做蛋糕比较火的网站如何做网站安全加固
  • 网站修改器南京手机网站设计
  • 企业网站建设对网络营销的影响主要表现在( )一键网页转app生成器
  • 网站建设与管理心得体会和总结wordpress提示插件安装插件
  • 无锡网站优化wordpress 使用ajax
  • 网站开发项目经理工资企业网站趋势
  • 做商城网站在哪里注册营业执照南昌做网站要多少钱
  • 郑州做网站公司电话西安网页设计培训机构
  • 加盟网官方网站重庆网站建设中心