在手術(shù)移動(dòng)護(hù)理APP項(xiàng)目中,需要用到在線預(yù)覽PDF以及PNG的功能,主要用來快速查看各種單據(jù)的填寫進(jìn)度,和打印效果。這種情況下,我們就需要將HTML頁面生成PDF,再把PDF轉(zhuǎn)換成PNG圖片。這篇文章就先介紹如何把PDF文件轉(zhuǎn)換成PNG圖片。
把PDF 轉(zhuǎn)換成PNG需要用到PHP的imageick擴(kuò)展和 Ghostscript軟件。
首先就是安裝PHP的php_imagick擴(kuò)展,可以去https://pecl.php.net/package/imagick這里下載對(duì)應(yīng)版本的擴(kuò)展。這里的擴(kuò)展下載解壓之后會(huì)有很多的文件。其中php_imagick.dll需要放到對(duì)應(yīng)PHP的ext中,然后在php.ini中添加對(duì)應(yīng)的擴(kuò)展名稱開啟擴(kuò)展修改php.ini 增加 "extension=php_imagick.dll",然后重啟服務(wù)。
重啟服務(wù)之后可能會(huì)出現(xiàn)以下界面
系統(tǒng)顯示已經(jīng)開啟了擴(kuò)展,如果這個(gè)時(shí)候沒有用過的人可能就會(huì)覺著擴(kuò)展已經(jīng)開啟了,這樣就算是安裝完成了,實(shí)則不是,如果這樣就直接去使用的話肯定是回報(bào)錯(cuò)的,因?yàn)槠渲凶铌P(guān)鍵的ImgaeMagick Supported formats中是no value就是沒有支持的格式。
這個(gè)時(shí)候我們?nèi)ソ鉀Q的話,有很多的解決方案是讓我們?nèi)グ惭bimageMagick這個(gè)軟件,還要安裝對(duì)應(yīng)imagick的版本才行,其實(shí)根本不用這樣啊,這樣實(shí)在是走了彎路。浪費(fèi)時(shí)間浪費(fèi)精力,最后也解決不了問題。其實(shí)只要把我們壓縮包里面其他的dll文件,全部放在php的根目錄中就可以解決這個(gè)問題,根本不需要去安裝一些軟件,看似解決問題,實(shí)則坑爹。
安裝完imagick擴(kuò)展至后就需要我們?nèi)パb一個(gè)Ghostscript軟件來實(shí)現(xiàn)PDF轉(zhuǎn)PNG,這個(gè)軟件安裝之后需要在windows里面增加PATH路徑,因?yàn)槌绦驎?huì)調(diào)用這個(gè)軟件去生成png
最后在運(yùn)行代碼就可以實(shí)現(xiàn)把pdf圖片轉(zhuǎn)成png了