barryvdh/laravel-snappy網頁轉圖片、pdf
阿新 • • 發佈:2018-12-01
一、下載wkhtmltopdf
下載地址:https://wkhtmltopdf.org/downloads.html
選擇對應的版本下載(我的homestead是ubuntu的16.04.3下載的是Ubuntu 16.04(xenial) amd64)
解壓wkhtmltox_0.12.5-1.xenial_amd64.deb,將其中的usr檔案單獨拿出來放到根目錄
二、安裝barryvdh/laravel-snappy
composer require barryvdh/laravel-snappy
安裝成功後在app.php中的
providers 新增:
Barryvdh\Snappy\ServiceProvider::class,`
facades新增:
'PDF' => Barryvdh\Snappy\Facades\SnappyPdf::class,
'SnappyImage' => Barryvdh\Snappy\Facades\SnappyImage::class,
釋出配置檔案
php artisan vendor:publish --provider="Barryvdh\Snappy\ServiceProvider"
三、使用
controller中引用app
use App;
在具體的方法中
$pdf = App::make('snappy.pdf.wrapper'); return $pdf //->loadHtml('<h1>你好123</h1>') //->loadFile('http://www.kissyou.club/wap/parttime-job/') ->loadView('test.index') ->setPaper('a4') ->setOrientation('landscape') ->setOption('margin-bottom', 0) ->setOption('enable-forms', true) //->setOption('grayscale', true) //->setOption('debug-javascript', true) //->setOption('page-offset', 8) ->setOption('encoding', 'utf-8') //->setOption('header-font-name', 'msyh') //->setOption('enable-external-links', true) ->inline(); // $data 為傳遞的引數 //return $pdf->inline(); // 顯示
四、會遇到不能識別漢字的時候
下載字型
$ wget http://font.ubuntu.com/download/ubuntu-font-family-0.83.zip
解壓字
$ unzip ubuntu-font-family-0.83.zip
同時將windows下的微軟雅黑、宋體等放進去
複製字型到對應的目錄
$ sudo cp -r ubuntu-font-family-0.83/ /usr/share/fonts/truetype/
加可寫許可權
$ sudo chmod 755 /usr/share/fonts/truetype/ubuntu-font-family-0.83/ -R
重新整理字型庫
fc-cache -f -v
在html頁面中增加字型,不加也行預設宋體
<style>
body {
font-family: msyh;
}
</style>
參考文件:
https://packagist.org/packages/barryvdh/laravel-snappy
https://github.com/barryvdh/laravel-snappy
https://wkhtmltopdf.org/usage/wkhtmltopdf.txt