日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

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

發布時間:2023/12/15 php 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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语言的两种方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。