之前项目采用pdf.js在支持html5的浏览器播放pdf运行的好好的,后台有反馈所有些用户打不开,后来发现会被杀毒软件拦截++,无赖,只好将pdf再转换为图片再使用jquery图片轮播插件在客户端播放。找资料时使用了itext 等pdfjar包,发现有些pdf转换会出现失真的现象(图片丢失),最后采用ghost4j虚拟打印的方式转换才解决了失真的问题,下面贴转换代码,由于附件大于10M,只能自行搜索下载了(exe及jar包)
public static int execute(File sourceFile, String outputFileName) throws IOException { PDFDocument document = new PDFDocument(); document.load(sourceFile); SimpleRenderer renderer = new SimpleRenderer(); // set resolution (in DPI) renderer.setResolution(300); try { List<Image> images = renderer.render(document); for (int i = 0; i < images.size(); i++) { //使用jpg会更小,但是要修改之前上传文件的附件类型 File imageFile = new File(outputFileName + (i + 1) + ".png"); if(!imageFile.getParentFile().exists()){ imageFile.getParentFile().mkdirs(); } RenderedImage renImage = (RenderedImage) images.get(i); ImageIO.write(renImage, "png", imageFile); if(renImage.getWidth() > 960){//大于960px 按800px的宽度进行压缩 Thumbnails.of(imageFile).width(960) //.size(960, 100) .toFile(imageFile); } } return images.size(); } catch (Exception e) { e.printStackTrace(); } return -1; }
值得一提的是jpg会比png的磁盘size更小哦
图片压缩jar包,在附件里面,其是一个开源项目,有兴趣也可以搜索看看。
相关推荐
总结来说,使用Ghost4J和Ghostscript进行PDF转图片的流程包括安装和配置Ghostscript,导入Ghost4J库,设置转换参数,读取PDF,执行转换并保存图片。这个过程虽然涉及多个步骤,但通过Java编程可以方便地实现自动化,...
9. **其他库**:除了PDFBox,还可以考虑使用`Ghost4J`或`iText`等其他PDF处理库,它们也提供了将PDF转换为图像的功能,但可能需要更复杂的集成和配置。 以上就是关于在Android中将PDF转换为图像的基本知识点和实现...
### 雨林木风工具最新万能GHOST系统制作教程 #### 一、概述 本文档旨在提供一套详尽的教程,指导用户如何利用雨林木风工具完成万能GHOST系统的制作。该教程由Lonelymoon(孤月)整理并分享,包含了大量实践经验和...
4. 安装系统时使用的背景图片。 5. 新版DirectX 9.0c_201006,增强3D图形和声音效果。 6. 7z压缩工具7-Zip,用于减小封装后的系统体积。 以下是封装步骤: 1. 在VMware虚拟机中安装原版的XP操作系统(需序列号,如...
BPL:Borlard Delph 4打包库 BSP:Quake图形文件 BUN:CakeWalk 声音捆绑文件(一种MIDI程序) C C0l:台风波形文件 CAB:Microsoft压缩档案文件 CAD:Softdek的Drafix CAD文件 CAM:Casio照相机格式 CAP:...
四.识别常见病毒,病毒一般是以隐藏形式藏匿在计算机的文件中,要把文件的隐藏属性打开。每一盘都有工具这个选项,如下图所示: 49 五.常用DOS命令 60 第一章COMS的设置 开机画面现在有两种,一种为AMI公司开发...