因项目的需求,需要预览文件,如果直接使用各种渲染插件预览pdf,兼容性太差,不同浏览器,不同终端,以及版本,问题太多,转换思路,文档转图片,那么兼容性问题就不存在了,大致思路如下

1. 各种不同文档转换为pdf文档,java环境下使用JODConverter+openoffice,可以完成该操作,网上已经有很多教程讲解,不懂Java语言的也可以轻松使用,安装好这些环境之后,再php代码中使用exec命令调用即可,

1.1 JODConverter安装可以参考:http://www.webyang.net/Html/web/article_337.html,openoffice

1.2 安装可以参考:https://blog.csdn.net/u013132051/article/details/53304562

1.3java环境安装参考:https://blog.csdn.net/chengzhaoan2010/article/details/55045026

类似的文章还有很多,遇到相关问题都可以找到解决方案,

2. 通过上一步已经把所有文档转换为pdf格式文件,接下来就是把pdf转成我们想要的图片,首先我通过参考相关案列,使用php的imagick扩展进行处理这个问题,imagick扩展安装参考:https://blog.csdn.net/young_phper/article/details/70614659

上代码:

/*** Notes:pdf转图片 正在使用方法* @param $PDF 破地方文件路径* @param $Path 图片储存路径* @return array|bool|string 成功返回一个数组 包含转换成功之后图片的完整路径 * @throws ImagickException*/public static function  pdf2png1($PDF,$Path){set_time_limit(0);if(!extension_loaded('imagick')){return false;}$IM = new imagick();try{$IM->setResolution(120,120);$IM->setCompressionQuality(100);$IM->readImage($PDF);foreach ($IM as $Key => $Var){//做了处理 页数超过25 只生成前25张图片 根据自己需要进行修改if($Key>24){break;}$Var->setImageFormat('png');$Filename = $Path.'/'.md5($Key.time()).'.png';if($Var->writeImage($Filename) == true){$Return[] = $Filename;}}return $Return;} catch (Exception $e){return $e->getMessage();}}

经测试,通过上述代码可以成功转换大部分文件,但是有部分文件因其他原因有可能转换失败,而且如果文件较大,则转换过程会消耗大量内存,如果服务器配置较低的话,可能导致服务器服务暂时瘫痪,所以该方法只适合转换少量文件,

作为一个功能来使用是可以的,如果作为核心来转换大量文件是不可取的,那么我们只能另寻他法了

3.经过一段时间查找,找到了一种方法(类似方法还有很多,基本都是依赖于非php语言,对于一个php程序原来说可能是一件痛苦的事),java+IcePDF包,

2 image pil 转_pdf转图片,php语言和Java语言的两种方法相关推荐

  1. 用html将竖的图片打横,【收藏】让竖版图片变横版不变形的两种方法

    朋友们大家好,我在学员群里常常会讲到两个字:大忌. 每当说到这两个字的时候,所指的情况大多是某个朋友做的PPT里的某张图片,因为被强行拉伸而导致变形. 确实,在ppt或其他的什么设计图中,图片变形乃是 ...

  2. MATLAB 保存imshow绘制图片到指定文件夹中的两种方法

    MATLAB 保存imshow绘制图片到指定文件夹中的两种方法 imwrite函数 imwrite(image,filename) imwrite(image,filename)是将图像数据image ...

  3. 如何把图片转换成PDF格式?这两种方法不要错过

    怎么把图片转换成PDF文件格式呢?PDF文件一直以来都是我们传输文件的好帮手,它的显著效果不仅可以体现在文件上,也可以在图片中拥有良好的体验感.我们将图片转换成PDF格式来发送或者是打印,就不会出现排 ...

  4. python(opencv2、PIL)将图片透明背景转换成白色背景的两种方法

    对于急需要用的朋友可以直接用下面的代码 opencv2实现 import cv2def alpha2white_opencv2(img):sp=img.shapewidth=sp[0]height=s ...

  5. CSS实现背景图片透明文字不透明效果的两种方法

    网页设计中经常要在背景图上放一些文字介绍,这就需要背景图片能有透明效果以便突出显示文字信息,经多方查阅,终于找到了2种有趣的方法. 1.在文字层添加rgba样式实现半透明效果 方法: 背景图片层添加样 ...

  6. python图片转换成文字的手机软件_手机如何将图片转换成文字?用这两种方法转换很简单...

    没有扫描仪怎么将纸质文档变成电子文档?图片上的文字太多想要提取没有好的方法吃苦受累的就是自己!今天分享给大家用手机将图片转换成文字的方法,轻松提取图片文字很简单! 方法一.迅捷文字识别--手机APP ...

  7. 苹果图片heic格式怎么转化成jpg?两种方法解决它

    Heic是苹果独有的图像格式.只有苹果iOS11及以上系统拍摄的照片才会以这种格式存储.在正常情况下,heic格式的图片只能在iPhone上查看,但是你想把它上传到一个平台或在其他设备上观看,你必须先 ...

  8. 将图片保存到系统相冊的两种方法

    第一种:採用系统的api直接使用: ContentResolver cr = getContentResolver();String url = MediaStore.Images.Media.ins ...

  9. 保存一个网页的所有相关资源(包括图片,js,css)的两种方法

    发现一个很酷的网页,想把它保存下来怎么办? ?? 网上找离线下载工具? 找了半天,没有找到合适的. 决定自己写一个, 我想可能以后会用到. 第一种方法是使用wget方式下载. 比较简单,但是一些高级的 ...

最新文章

  1. MapReduce实现join操作
  2. 简单几步就教会你如何使用 dockerfile 制作 LNMP 镜像,还不赶紧学起来
  3. 重磅:服务器基础知识全解终极版(145页PPT)
  4. PCL之点特征直方图(PFH)
  5. 【记录】搭建本地wordpress全过程
  6. 计算机报名照片在线修图,网上报名照片处理工具
  7. 号称是世界最大的电子书图书馆ZLibrary
  8. 大华设备无法注册EasyGBS国标视频平台,是什么原因?
  9. Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes解决办法
  10. js获取并设置lt;pgt;lt;/pgt;的显示的值。
  11. HTML+CSS+JavaScript制作七夕表白网页(含音乐+自定义文字)
  12. Windows 7 64位无法在状态码为0xc0000225的VirtualBox / Linux上安装
  13. 获得新成就1024勋章
  14. 三星手机刷机后显示无服务器,三星手机刷机后无基带无信号打不了电话等故障详细修复教程...
  15. 3dsmax 2017打开就闪退的解决方法
  16. Pass! (bsgs 推柿子)
  17. EasyExcel导出自动适应列宽 Excel样式
  18. 在Windows上使用Google Chrome安装Helvetica Neue字体被认为是有害的
  19. python表格操作_python表格操作练习
  20. 工作记录:docker

热门文章

  1. 计算机应用124单元测试卷,《计算机应用基础》第一部分单元测试试卷
  2. linux系统下4k对齐,linux查看硬盘4K对齐方法
  3. sizeof 数组_简单的一维数组竟然有这么多坑?
  4. filter_var()函数
  5. [SDOI2011] 计算器
  6. springboot的war和jar包
  7. MySql基础教程(三)——查询训练
  8. git github的使用
  9. HDU2167 Pebbles(状压DP)
  10. 面试题 : Intent、IntentFilter、PendingIntent的区别