php用wkhtmltopdf把html生成pdf

2021-07-28 12:20:12 字數 927 閱讀 8077

需要用php把html生成pdf,找了了個php擴充套件,html2pdf,只能生成一些簡單的html**,複雜的html+css無法生成。網上找到了強大的wkhtmltopdf。

如果wkhtmltopdf中文顯示空白,開啟windows c:\windows\fonts\simsun.ttc拷貝到linux伺服器/usr/share/fonts/目錄

wkhtmltopdf使用的是webkit引擎,在官方的指南中說明可以指定編碼格式:--encoding 編碼格式,經過測試是不行的。--encoding引數實際上指的是檔案儲存的編碼格式。所以通過url從伺服器端請求而來的網頁編碼檔案格式不能確定時後,會使用檔案內容編碼格式輸出。如果檔案編碼是ansi,但是html編碼是gb2312,就會亂碼。

在伺服器上已經安裝好wkhtmltopdf,見部落格內文章。命令列執行正常。如果用php呼叫的話,兩個辦法,乙個是exec執行。這個方法比較慢。另乙個辦法就是,包裝成擴充套件。本來想自己用swig工具包乙個php擴充套件,後來網上搜了一下,早就有人做好了。php不愧是最好的語言,哈哈!

./phpinze

注意,如果wkhtmltopdf直接解壓縮安裝,需要指定phpwkhtmltox目錄,如下:

./configure --with-phpwkhtmltox=/home/work/wkhtmltox/

cd /home/work/php/lib/php/extensions/no-debug-non-zts-20131226  看一下是否生成phpwkhtmltox.so

修改php.ini增加一行:

extension=phpwkhtmltox.so

執行一下test例子,ok了!

在實際使用中發現,對js支援不好,一句話,如果頁面去掉js還能正常顯示,那就能生成。反之,就不行。

linux 安裝wkhtmltopdf 所出的問題

linux 0.12.3 32 bit 64 bit depends on zlib,fontconfig,freetype,x11 libs libx11,libxext,libxrender 裡面的對應版本,然後解壓即可。解壓 命令 tar xvf wkhtmltox 0.12.3 linux ...

wkhtmltopdf 中文不能顯示問題完美解決

裝好wkhtmltopdf 中文顯示空白或者亂碼方框 網路上說一般是中文支援沒有安裝 說新增yum源後安裝以下兩個包 fonts chinese.noarch fonts iso8859 2 75dpi.noarch root alpha openl soft rpm ivh fonts chine...

wkhtmltopdf 中文顯示空白或者亂碼方框

by 狂奔的蝸牛的部落格 from 裝好wkhtmltopdf 中文顯示空白或者亂碼方框 網路上說一般是中文支援沒有安裝 說新增yum源後安裝以下兩個包 fonts chinese.noarch fonts iso8859 2 75dpi.noarch root alpha openl soft r...