php把word轉(zhuǎn)圖片的方法:首先給服務(wù)器安裝libreoffice;然后使用exec函數(shù)來調(diào)用命令行操作;最后通過“xec("soffice –headless –invisible…"”方法把word轉(zhuǎn)圖片即可。
推薦:《PHP視頻教程》
linux,centos,php,word轉(zhuǎn)圖片方法(無格式錯亂,亂碼等問題)
剛開始的時候是客戶的活兒,真的是沒有想到,被這樣一個方法給卡住了,真是醉了,經(jīng)過漫長的一周,終于搞定了這個問題,以下就來給大家介紹以下這個方法把。能方便大家。
【注】本方法也可以將 ppt 轉(zhuǎn)為圖片(execl 沒試過,有時間你們可以試一下)
(直接轉(zhuǎn)換沒辦法,所以找了個折中的辦法,先轉(zhuǎn)成pdf文件,然后再將pdf轉(zhuǎn)圖片)
先說一下環(huán)境的安裝(我也是經(jīng)歷了好幾次失敗才總結(jié)出環(huán)境的安裝的,*表示必須的操作,如果是大神,那么請繞道)
服務(wù)器環(huán)境:centos7
*集成環(huán)境:寶塔
安裝完寶塔后,選擇安裝LNMP的集成環(huán)境(php的版本最好安裝5.6及以上)
這里需要注意的就是必須使用 nginx 的環(huán)境(別用apache,坑太多),還有就是使用寶塔的集成環(huán)境,別問我為什么,因?yàn)榭犹啵灰獣r間充足,工作不限時長,你也可以自己嘗試的安裝各種環(huán)境試試(為了快速,就按照我的環(huán)境安裝步驟走)
等待。。。
環(huán)境安裝完成之后,我們進(jìn)入寶塔的軟件商店,點(diǎn)擊php后面的設(shè)置,然后給php安裝imagemagick擴(kuò)展
等待這個php擴(kuò)展的安裝完成
安裝完成之后,我們開始給服務(wù)器安裝libreoffice
直接執(zhí)行下面的代碼就可以(第一個安裝好就ok了,后面兩個安裝的時候可能會報錯,但是只要第一個安裝好了,其實(shí)沒什么大的影響)
1 yum install libreoffice 2 yum install libreoffice-headless 3 yum -y install libreoffice-langpack-zh-Han*
安裝完成libreoffice后,我們使用下面的代碼來測試一下是否安裝成功:
soffice --headless --invisible --convert-to pdf 1.docx
(如果是 ppt 轉(zhuǎn)圖片的話只要把后面的 docx 文件 換成 pptx 文件即可)
如果在執(zhí)行命令的目錄下,生成了一個與word同名的pdf文件,即說明libreioffice安裝成功了
對于libreoffice的linux使用可以自行百度
在php中,我們可以使用 exec() 函數(shù)來調(diào)用命令行操作,還有 shell_exec() 等函數(shù)(函數(shù)用法自行百度)
如果在php方法中不能執(zhí)行 exec() 方法,說明php將這些方法禁用了,這個時候我們可以修改 php.ini 文件中的配置
在php.ini 文件中找到 disable_functions = 開頭的一行,然后在后面把自己要使用的函數(shù)刪掉,然后重新啟動一下php,然后我們寫的php就可以調(diào)用 exec() 等函數(shù)了
至此,我們就把word轉(zhuǎn)圖片的所要用到的所有環(huán)境都安裝成功了
php中word轉(zhuǎn)pdf的方法:
$result = exec("soffice --headless --invisible --convert-to pdf 1.docx"); echo json_encode($result);
可以在同目錄生成word同名pdf文件
php中pdf轉(zhuǎn)圖片的方法:
$result = pdf2png("/www/wwwroot/wwj.wangwenjie.club/1.pdf","/www/wwwroot/wwj.wangwenjie.club/"); function pdf2png($pdf, $path) { if (!extension_loaded('imagick')) { return false; } if (!file_exists($pdf)) { return false; } $im = new Imagick(); $im->setResolution(120, 120); //設(shè)置分辨率 值越大分辨率越高 $im->setCompressionQuality(100); $im->readImage($pdf); foreach ($im as $k => $v) { $v->setImageFormat('png'); $fileName = $path . md5($k . time()) . '.png'; if ($v->writeImage($fileName) == true) { $return[] = $fileName; } } return $return; }
可以在同目錄下生成png圖片(pdf幾頁就有幾張圖片生成)
關(guān)于pdf轉(zhuǎn)圖片的方法大家可以參考:
https://blog.csdn.net/jeff_love_marina/article/details/80838055(環(huán)境等上面的步驟已經(jīng)都安裝好了,所以直接看該鏈接的方法就行)
至此,在 linux 下 php 將 word 轉(zhuǎn)圖片的方法就整個說完了,加油吧