2 image pil 转_pdf转图片,php语言和Java语言的两种方法
因项目的需求,需要预览文件,如果直接使用各种渲染插件预览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语言的两种方法相关推荐
- 用html将竖的图片打横,【收藏】让竖版图片变横版不变形的两种方法
朋友们大家好,我在学员群里常常会讲到两个字:大忌. 每当说到这两个字的时候,所指的情况大多是某个朋友做的PPT里的某张图片,因为被强行拉伸而导致变形. 确实,在ppt或其他的什么设计图中,图片变形乃是 ...
- MATLAB 保存imshow绘制图片到指定文件夹中的两种方法
MATLAB 保存imshow绘制图片到指定文件夹中的两种方法 imwrite函数 imwrite(image,filename) imwrite(image,filename)是将图像数据image ...
- 如何把图片转换成PDF格式?这两种方法不要错过
怎么把图片转换成PDF文件格式呢?PDF文件一直以来都是我们传输文件的好帮手,它的显著效果不仅可以体现在文件上,也可以在图片中拥有良好的体验感.我们将图片转换成PDF格式来发送或者是打印,就不会出现排 ...
- python(opencv2、PIL)将图片透明背景转换成白色背景的两种方法
对于急需要用的朋友可以直接用下面的代码 opencv2实现 import cv2def alpha2white_opencv2(img):sp=img.shapewidth=sp[0]height=s ...
- CSS实现背景图片透明文字不透明效果的两种方法
网页设计中经常要在背景图上放一些文字介绍,这就需要背景图片能有透明效果以便突出显示文字信息,经多方查阅,终于找到了2种有趣的方法. 1.在文字层添加rgba样式实现半透明效果 方法: 背景图片层添加样 ...
- python图片转换成文字的手机软件_手机如何将图片转换成文字?用这两种方法转换很简单...
没有扫描仪怎么将纸质文档变成电子文档?图片上的文字太多想要提取没有好的方法吃苦受累的就是自己!今天分享给大家用手机将图片转换成文字的方法,轻松提取图片文字很简单! 方法一.迅捷文字识别--手机APP ...
- 苹果图片heic格式怎么转化成jpg?两种方法解决它
Heic是苹果独有的图像格式.只有苹果iOS11及以上系统拍摄的照片才会以这种格式存储.在正常情况下,heic格式的图片只能在iPhone上查看,但是你想把它上传到一个平台或在其他设备上观看,你必须先 ...
- 将图片保存到系统相冊的两种方法
第一种:採用系统的api直接使用: ContentResolver cr = getContentResolver();String url = MediaStore.Images.Media.ins ...
- 保存一个网页的所有相关资源(包括图片,js,css)的两种方法
发现一个很酷的网页,想把它保存下来怎么办? ?? 网上找离线下载工具? 找了半天,没有找到合适的. 决定自己写一个, 我想可能以后会用到. 第一种方法是使用wget方式下载. 比较简单,但是一些高级的 ...
最新文章
- MapReduce实现join操作
- 简单几步就教会你如何使用 dockerfile 制作 LNMP 镜像,还不赶紧学起来
- 重磅:服务器基础知识全解终极版(145页PPT)
- PCL之点特征直方图(PFH)
- 【记录】搭建本地wordpress全过程
- 计算机报名照片在线修图,网上报名照片处理工具
- 号称是世界最大的电子书图书馆ZLibrary
- 大华设备无法注册EasyGBS国标视频平台,是什么原因?
- Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes解决办法
- js获取并设置lt;pgt;lt;/pgt;的显示的值。
- HTML+CSS+JavaScript制作七夕表白网页(含音乐+自定义文字)
- Windows 7 64位无法在状态码为0xc0000225的VirtualBox / Linux上安装
- 获得新成就1024勋章
- 三星手机刷机后显示无服务器,三星手机刷机后无基带无信号打不了电话等故障详细修复教程...
- 3dsmax 2017打开就闪退的解决方法
- Pass! (bsgs 推柿子)
- EasyExcel导出自动适应列宽 Excel样式
- 在Windows上使用Google Chrome安装Helvetica Neue字体被认为是有害的
- python表格操作_python表格操作练习
- 工作记录:docker