java实现pdf文件截图的方法【附PDFRenderer.jar下载】
2018-01-11 14:43
821 查看
本文实例讲述了java实现pdf文件截图的方法。分享给大家供大家参考,具体如下:
最近做的一个网站中,有个需求是上传pdf文件,显示pdf的封页,点击封页之后进行在线阅读,这里使用的是PDFRender对pdf进行截图。
public static boolean createScreenShoot(String source, String target) { File file = new File(source); if (!file.exists()) { System.err.println("路径[" + source + "]对应的pdf文件不存在!"); return false; } try{ RandomAccessFile raf = new RandomAccessFile(file, "r"); FileChannel channel = raf.getChannel(); ByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size()); PDFFile pdffile = new PDFFile(buf); int num = pdffile.getNumPages(); for(int i = 1; i < num; i++){ PDFPage page = pdffile.getPage(1); // get the width and height for the doc at the default zoom Rectangle rect = new Rectangle(0, 0, (int) page.getBBox() .getWidth(), (int) page.getBBox().getHeight()); // generate the image Image img = page.getImage(rect.width, rect.height, // width & rect, // clip rect null, // null for the ImageObserver true, // fill background with white true // block until drawing is done ); BufferedImage tag = new BufferedImage(rect.width, rect.height, BufferedImage.TYPE_INT_RGB); tag.getGraphics().drawImage(img, 0, 0, rect.width, rect.height,null); FileOutputStream out = new FileOutputStream(target+i+"jpg"); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); encoder.encode(tag); // JPEG编码 out.close(); } return true; }catch(Exception e){ e.printStackTrace(); return true; }
另外如果需要在线显示pdf的话,需要设置响应头
response.setContentType("application/pdf");
附:pdfRender.jar点击此处本站下载。
更多java相关内容感兴趣的读者可查看本站专题:《Java图片操作技巧汇总》、《java日期与时间操作技巧汇总》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》及《Java数据结构与算法教程》。
希望本文所述对大家java程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- java实现文件上传下载的三种方法
- java实现文件导出和下载方法
- 【Java】上传文件进度条的实现方法(附demo源码下载)
- Java实现对视频进行截图的方法【附ffmpeg下载】
- Java实现ftp上传下载、删除文件及在ftp服务器上传文件夹的方法
- Java实现从jar包中读取指定文件的方法
- java实现pdf文件下载
- java实现pdf文件下载
- 为了在本机上测试,必须先安装memcache的服务器端,安装文件见附件,只能在Administrator用户下才能启动memcached服务。 首先要下载memcache的客户端java实现的jar
- Java上传文件进度条的实现方法(附demo源码下载)
- 经过证实的下载文件java实现方法
- 用java实现文件下载的几种方法
- Java RSA加密解密实现方法分析【附BASE64 jar包下载】
- JavaScript+Java实现HTML页面转为PDF文件保存的方法
- 经过证实的下载文件java实现方法
- java实现文件上传下载的三种方法
- java基于jxl.jar包生成Excel文件到指定目录和服务器下载两种模式的使用方法
- Java Web端程序实现文件下载的方法分享
- 如何实现java文件队列下载
- 用Java实现HTTP文件队列下载