如何使用java实现截取PDF指定页并进行图片格式转换功能
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章给大家分享的是有关如何使用java实现截取PDF指定页并进行图片格式转换功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、引入依赖 org.apache.pd
千家信息网最后更新 2025年02月04日如何使用java实现截取PDF指定页并进行图片格式转换功能
这篇文章给大家分享的是有关如何使用java实现截取PDF指定页并进行图片格式转换功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
1、引入依赖
org.apache.pdfbox pdfbox 2.0.16 org.apache.pdfbox fontbox 2.0.16
jar包下载地址:
https://mvnrepository.com/artifact/org.apache.pdfbox/pdfboxhttps://mvnrepository.com/artifact/org.apache.pdfbox/fontbox
2、实现DEMO
package com.dddpeter.app;import org.apache.pdfbox.multipdf.Splitter;import org.apache.pdfbox.pdmodel.PDDocument;import org.apache.pdfbox.rendering.PDFRenderer;import javax.imageio.ImageIO;import javax.imageio.stream.ImageOutputStream;import java.awt.image.BufferedImage;import java.io.*;import java.util.List;import java.util.ListIterator;public class PDFUtils { public static String splitPdf(int pageNum, String source, String dest) { File indexFile = new File(source); File outFile = new File(dest); PDDocument document = null; try { document = PDDocument.load(indexFile); // document.getNumberOfPages(); Splitter splitter = new Splitter(); splitter.setStartPage(pageNum); splitter.setEndPage(pageNum); Listpages = splitter.split(document); ListIterator iterator = pages.listIterator(); while (iterator.hasNext()) { PDDocument pd = iterator.next(); if (outFile.exists()) { outFile.delete(); } pd.save(outFile); pd.close(); if (outFile.exists()) { return outFile.getPath(); } } document.close(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return null; } public static void pdfFileToImage(File pdffile,String targetPath){ try { FileInputStream instream = new FileInputStream(pdffile); InputStream byteInputStream=null; try { PDDocument doc = PDDocument.load(instream); PDFRenderer renderer = new PDFRenderer(doc); int pageCount = doc.getNumberOfPages(); if (pageCount > 0) { BufferedImage image = renderer.renderImage(0, 4.0f); image.flush(); ByteArrayOutputStream bs = new ByteArrayOutputStream(); ImageOutputStream imOut; imOut = ImageIO.createImageOutputStream(bs); ImageIO.write(image, "png", imOut); byteInputStream = new ByteArrayInputStream(bs.toByteArray()); byteInputStream.close(); } doc.close(); } catch (IOException e) { e.printStackTrace(); } File uploadFile = new File(targetPath); FileOutputStream fops; fops = new FileOutputStream(uploadFile); fops.write(readInputStream(byteInputStream)); fops.flush(); fops.close(); } catch (Exception e) { e.printStackTrace(); } } public static byte[] readInputStream(InputStream inStream) throws Exception { ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while ((len = inStream.read(buffer)) != -1) { outStream.write(buffer, 0, len); } inStream.close(); return outStream.toByteArray(); } public static void main(String[] args) { String path = splitPdf(4,"D:\\data\\11.pdf","D:\\data\\out11.pdf"); File file =new File(path); //上传的是png格式的图片结尾 String targetfile="D:\\data\\out11.png"; pdfFileToImage(file,targetfile); }}
感谢各位的阅读!关于"如何使用java实现截取PDF指定页并进行图片格式转换功能"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
图片
格式
功能
内容
更多
篇文章
不错
实用
地址
文章
看吧
知识
参考
帮助
有关
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全演讲高中
广安市公安局网络安全监察支队
网络安全宣传教育并
萧县天气预报软件开发
金字工程电子政务网络安全
用友财务软件u8连接服务器
华为手机服务器在哪里打开
ibm服务器 关机
网络安全tpg
宇视视频监控管理服务器
数据库一输入逗号就死机
淘宝购买云服务器
网络安全威胁主题来自哪里
手机软件开发的前景
长沙创先网络技术公司招聘
如何调用魔兽数据库
河北高科技软件开发代理品牌
云茶网络技术有限公司怎么样
网络安全行业发展心得
数据库怎么查询年龄最大的两个人
数据库关系图画图题目
有关青少年网络安全的事例
民政局网络安全保障工作方案
ncbi数据库使用教程
深圳百辰网络技术有限公司
互联网高科技园区
网络安全速成方法
数据库中读者和图书的关系
数据库导入表的sql语句
网络安全安全宣传周活动