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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

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

發(fā)布時(shí)間:2023/12/15 php 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2 image pil 转_pdf转图片,php语言和Java语言的两种方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

因項(xiàng)目的需求,需要預(yù)覽文件,如果直接使用各種渲染插件預(yù)覽pdf,兼容性太差,不同瀏覽器,不同終端,以及版本,問題太多,轉(zhuǎn)換思路,文檔轉(zhuǎn)圖片,那么兼容性問題就不存在了,大致思路如下

1. 各種不同文檔轉(zhuǎn)換為pdf文檔,java環(huán)境下使用JODConverter+openoffice,可以完成該操作,網(wǎng)上已經(jīng)有很多教程講解,不懂Java語言的也可以輕松使用,安裝好這些環(huán)境之后,再php代碼中使用exec命令調(diào)用即可,

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環(huán)境安裝參考:https://blog.csdn.net/chengzhaoan2010/article/details/55045026

類似的文章還有很多,遇到相關(guān)問題都可以找到解決方案,

2. 通過上一步已經(jīng)把所有文檔轉(zhuǎn)換為pdf格式文件,接下來就是把pdf轉(zhuǎn)成我們想要的圖片,首先我通過參考相關(guān)案列,使用php的imagick擴(kuò)展進(jìn)行處理這個(gè)問題,imagick擴(kuò)展安裝參考:https://blog.csdn.net/young_phper/article/details/70614659

上代碼:

/*** Notes:pdf轉(zhuǎn)圖片 正在使用方法* @param $PDF 破地方文件路徑* @param $Path 圖片儲存路徑* @return array|bool|string 成功返回一個(gè)數(shù)組 包含轉(zhuǎn)換成功之后圖片的完整路徑 * @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){//做了處理 頁數(shù)超過25 只生成前25張圖片 根據(jù)自己需要進(jìn)行修改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();}}

經(jīng)測試,通過上述代碼可以成功轉(zhuǎn)換大部分文件,但是有部分文件因其他原因有可能轉(zhuǎn)換失敗,而且如果文件較大,則轉(zhuǎn)換過程會消耗大量內(nèi)存,如果服務(wù)器配置較低的話,可能導(dǎo)致服務(wù)器服務(wù)暫時(shí)癱瘓,所以該方法只適合轉(zhuǎn)換少量文件,

作為一個(gè)功能來使用是可以的,如果作為核心來轉(zhuǎn)換大量文件是不可取的,那么我們只能另尋他法了

3.經(jīng)過一段時(shí)間查找,找到了一種方法(類似方法還有很多,基本都是依賴于非php語言,對于一個(gè)php程序原來說可能是一件痛苦的事),java+IcePDF包,

總結(jié)

以上是生活随笔為你收集整理的2 image pil 转_pdf转图片,php语言和Java语言的两种方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。