PHP 轉(zhuǎn) PDF或Img 要安裝<wkhtmltopdf>可執(zhí)行程序
官網(wǎng)地址:wkhtmltopdf.org
wkhtmltopdf的優(yōu)點(diǎn):
? ? 1) 夸平臺(tái)Liunx,Windows,Mac
? ? 2)有64位廉侧,32位安裝文件(pdf,image)
wkhtmltopdf安裝步驟:
? ? ? ? 1:下載地址 :wkhtmltopdf.org/downloads.html
? ? ? ? 2:設(shè)置環(huán)境變量(全局)
Laravel框架的使用方式:
? ? ? ? ?文檔地址:github.com/barryvdh/laravel-snappy
? ? ? ? ?1.下載laravel-snappy組件
? ? ? ? ? ? ? ? ? 執(zhí)行命令:composer require barryvdh/laravel-snappy
? ? ? ? ? 2.注冊(cè)組件服務(wù)(在 config/app.php添加以下內(nèi)容)
? ? ? ? ? ? ? ? ? providers數(shù)組中添加:Barryvdh\Snappy\ServiceProvider::class,
? ? ? ? ? ? ? ? ?aliases數(shù)組中添加:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'PDF' => Barryvdh\Snappy\Facades\SnappyPdf::class,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'SnappyImage' => Barryvdh\Snappy\Facades\SnappyImage::class,
? ? ? ? ? ? 3.生成對(duì)應(yīng)文件映射
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?執(zhí)行命令: php artisan vendor:publish --provider="Barryvdh\Snappy\ServiceProvider"
? ? ? ? ? ? 4.配置snappy文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? 修改binary數(shù)值(雙引號(hào)中修改成wkhtmltopdf安裝的絕對(duì)路徑)
? ? ? ? ? ? Example:
? ? ? ? ? ? ? ? ? ? ? ? ?windows:'binary'? => '"C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe"',
? ? ? ? ? ? ? ? ? ? ? ? ? linux? :'binary'? => '/usr/local/bin/wkhtmltopdf-amd64',
? ? ? ? ? ? ? ? ? ? ? ? ? composer安裝:'binary' => base_path('vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64'),
? ? ? ? ? ? ? ? ? ? ? ? ? IMAGE
? ? ? ? ? ? ? ? ? ? ? ? ? ?windows:'binary'? => '"C:\Program Files\wkhtmltopdf\bin\wkhtmltoimage.exe"',
? ? ? ? ? ? ? ? ? ? ? ? ? ?linux? :'binary'? => '/usr/local/bin/wkhtmltoimage-amd64',
? ? ? ? ? ? ? ? ? ? ? ? ? ?composer安裝:'binary' => base_path('vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltoimage-amd64'),
5.使用
? ? ? ?1).直接顯示在頁(yè)面中
? ? ? ? ? ? ? ?$pdf = App::make('snappy.pdf.wrapper'); //轉(zhuǎn)PDF snappy.pdf.wrapper? 轉(zhuǎn)image snappy.image.wrapper
? ? ? ? ? ? ? ? $content = 'HTML代碼';? 頁(yè)面中有中文一定要指定字符集{}
? ? ? ? ? ? ? ? $pdf->loadHTML($content);
? ? ? ? ? ? ? ? ?return $pdf->inline();
? ? ? 2).保存成文件
? ? ? ? ? ? ? ? ?$snappy = App::make('snappy.pdf');//轉(zhuǎn)PDF snappy.pdf? 轉(zhuǎn)Image snappy.image
? ? ? ? ? ? ? ? ?$html = 'HTML代碼';
? ? ? ? ? ? ? ? ?$snappy->generateFromHtml($html, '/tmp/123.pdf');
? ? ? ? ? ? ? ? ?$snappy->generate('http://www.baidu.com', '/tmp/213.pdf');
? ? ? ?3).下載
? ? ? ? ? ? ? ? ? return PDF::loadView('pdf.invoice', $data)->download('invoice.pdf');
************************************************************************************************
php寫(xiě)的組件