JAVA使用pdfbox将pdf转换成图片
使用的工具包:
pdfbox-1.8
fontbox-1.8
maven中导入:
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>1.8.10</version>
</dependency>
注意: 对要求过高项目不建议使用(转化过程中出现字符重叠现象).
下面看代码
package com.yqrt.core.pdf2img;import java.awt.image.BufferedImage;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import java.util.List;import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriter;
import javax.imageio.stream.ImageOutputStream;import org.apache.pdfbox.exceptions.COSVisitorException;
import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;/*** Hello world!**/
public class App
{public final static String IMG_TYPE_JPG = "jpg";public final static String IMG_TYPE_PNG = "png";public static void main( String[] args ) throws IOException{App app = new App();app.pdf2img("D:\\api.pdf", "D:",IMG_TYPE_PNG);
// PDDocument pdDocument = app.pdfInfo("D:\\api.pdf");}/*** * @param pdfPath pdf文件的路径* @param savePath 图片保存的地址* @param imgType 图片保存方式*/public void pdf2img(String pdfPath,String savePath,String imgType){String fileName = pdfPath.substring(pdfPath.lastIndexOf("\\")+1, pdfPath.length());fileName = fileName.substring(0,fileName.lastIndexOf("."));InputStream is = null;PDDocument pdDocument = null; try {is = new BufferedInputStream(new FileInputStream(pdfPath));PDFParser parser = new PDFParser(is);parser.parse();pdDocument = parser.getPDDocument();List<PDPage> pages = pdDocument.getDocumentCatalog().getAllPages();for (int i = 0; i < pages.size(); i++) {String saveFileName = savePath+"\\"+fileName+i+"."+imgType;PDPage page = pages.get(i);pdfPage2Img(page,saveFileName,imgType);}} catch (Exception e) {e.printStackTrace();}finally{if(pdDocument != null){try {pdDocument.close();} catch (IOException e) {e.printStackTrace();}}}}/*** pdf页转换成图片* @param page * @param saveFileName* @throws IOException*/public void pdfPage2Img(PDPage page,String saveFileName,String imgType) throws IOException{BufferedImage img_temp = page.convertToImage();Iterator<ImageWriter> it = ImageIO.getImageWritersBySuffix(imgType);ImageWriter writer = (ImageWriter) it.next(); ImageOutputStream imageout = ImageIO.createImageOutputStream(new FileOutputStream(saveFileName));writer.setOutput(imageout);writer.write(new IIOImage(img_temp, null, null));}public PDDocument pdfInfo(String filePath) throws IOException{InputStream is = new BufferedInputStream(new FileInputStream(filePath));PDFParser parser = new PDFParser(is);parser.parse();PDDocument pdDocument = parser.getPDDocument();System.out.println("pageNum:"+pdDocument.getNumberOfPages());return pdDocument;}public void createPdf() throws COSVisitorException, IOException{PDDocument document = new PDDocument();PDPage blankPage = new PDPage();document.addPage(blankPage);document.save("D:\\test.pdf");document.close();}
}
JAVA使用pdfbox将pdf转换成图片相关推荐
- 使用pdfbox将pdf转换成图片的时候,STSong-Light字体不存在解决方案
问题 使用pdfbox将pdf转换成图片的时候,STSong-Light字体的文字全为空格问题解决. 告警信息:Using fallback MT-Extra for CID-keyed font S ...
- pdfbox将pdf转换成图片时,提示STSong-Light字体缺失:No glyph for 20154 (CID 0ca6) in font STSong-Light
一.pdfbox把pdf转为图片的过程中出错 把pdf文件转为图片展示,但是展示出来的中文都是 口口 ,日志显示一堆No glyph for * (CID *) in font STSong-Ligh ...
- PDF转换成图片(Java pdfbox实现 附中文乱码解决方案)
PDF转换成图片(Java pdfbox实现) pdf转成图片在java中主流的做法就是pdfbox和icepdf 然而我选择pdfbox 废话不多说上代码 引入依赖 <!--pdfbox--& ...
- java调用pdfbox转pdf文件为图片文件,有中文时在windows上正常,部署到linux下乱码
最近遇到了一个很头疼的问题,我们的项目移动端需要一个读pdf的功能,但是手机端开发人员说移动端是用jquerymobile做的,不能直接甩pdf文件过去(原因是pdf文件太大),于是乎我们想到了2个解 ...
- C#技术分享【PDF转换成图片——13种方案】
1.[O2S.Components.PDFRender4NET.dll],第三方DLL,可以实现PDF转图片,支持32位系统.64位系统 官方试用版的dll左上角会有一排红色水印,下面这个是破解版的没 ...
- 怎么把PDF转换成图片?这几种转换方法都可以做到
怎么把PDF文件转换成图片呢?大家在使用PDF文件的时候,很多情况下不仅是用来发送文件,还会用来阅读文件,如果只需要浏览文件中某部分内容的话,远没有图片使用的方便,我们可以将这部分内容转换成图片来更加 ...
- pdf转换成jpg python_【PDF转图片】如何将PDF转换成图片格式--Python
可能会有人问,很多PDF阅读软件都是可以直接将PDF文件保存成图片格式的,为什么非得用Python?? 使用Python(代码)的优势就在于可以批量操作,试想,如果你有成百上千的PDF文件,你很有可能 ...
- 将pdf转换成图片在转换回pdf文件
将pdf转换成图片在转换回pdf文件 之所有要这么做主要是曲线解决pdf文本内容增加覆盖层后依然可以复制出来的问题.查了不少资料发现通过覆盖层的方式并不能去除原有的文字内容,只是达到了掩耳盗铃的效果而 ...
- 使用imagick将PDF转换成图片时报Fatal error: Uncaught exception 'ImagickException' with message 'FailedToExecute
个人博客原文地址:http://www.lampnick.com/php/720 $IM = new imagick(); $IM->setResolution(200, 200); $IM-& ...
- android开发将h5转换成pdf_如何将PDF转换成图片?搞定PDF格式转换,就用这招就够了!...
原标题:如何将PDF转换成图片?搞定PDF格式转换,就用这招就够了! 在我们日常学习和日常工作中,我们有时候会遇到要使用到PDF中某一部分的情况,这时候我们可以将PDF文件转成图片.有什么办法可以把P ...
最新文章
- android ndk 界面开发教程,Android NDK开发之入门教程
- 解读:一种来自Facebook团队的大规模时间序列预测算法(附github链接)
- 通过url 下载文件
- java编译时多态和运行时多态_运行时多态、编译时多态和重载、重写的关系(不区分Java和C#,保证能看懂!)...
- java for循环遍历解释,三种for循环遍历
- Chrome 100发布:全新图标,CPU、内存占用暴降!
- QT开发及实例学习之六控件
- vue + element-ui 聊天_Vue管理后台框架选择推荐
- PHP学习之六:预定义常量
- 利用递归统一化函数参数的不固定数据类型
- Mac 16进制编辑器Hex Friend
- python植物大战僵尸脚本_用 Python 实现植物大战僵尸代码!
- 【老生谈算法】matlab实现Kmeans算法源码——Kmeans算法
- 5种尊重您隐私的替代搜索引擎
- 合肥工业大学计算机网络期中考试,计算机网络实验报告合肥工业大学
- 视觉伺服控制工具Visual Servoing Platform---VISP(7)----vpServo这个看懂了就会用VISP了,很简单
- html背景图片css怎么添加,css样式怎么插入背景图片?
- 北航计算机考研机考,11北航计算机复试上机
- 坦白说自动获取有效好友
- linux升级内核ivh,Linux内核升级
热门文章
- _VMware_虚拟机到_KVM
- 微型计算机主机内部结构,微型计算机主机由什么组成
- Charles软件怎样解决SSL安全证书过期问题
- 简单爬取百度百科周杰伦所有歌的歌词
- qq邮箱 服务器认证失败怎么回事,为什么我的QQ邮箱登录不了 QQ邮箱无法登陆怎么解决...
- 通过创建Google快讯将定期搜索结果发送到Gmail信箱
- gpg4win使用教程_使用gpg4win生成密钥对
- Linux加密框架 crypto 哈希算法说明 同步哈希shash_alg | 异步哈希 ahash_alg | 通用部分抽象 hash_alg_common
- scrapy手工识别验证码登录超星泛雅
- ARP报文目的MAC为什么不是广播地址?