PHP 轉 PDF或Img 要安裝<wkhtmltopdf>可執行程序
官網地址:wkhtmltopdf.org
wkhtmltopdf的優點:
? ? 1) 夸平臺Liunx,Windows,Mac
? ? 2)有64位,32位安裝文件(pdf,image)
wkhtmltopdf安裝步驟:
? ? ? ? 1:下載地址 :wkhtmltopdf.org/downloads.html
? ? ? ? 2:設置環境變量(全局)
Laravel框架的使用方式:
? ? ? ? ?文檔地址:github.com/barryvdh/laravel-snappy
? ? ? ? ?1.下載laravel-snappy組件
? ? ? ? ? ? ? ? ? 執行命令:composer require barryvdh/laravel-snappy
? ? ? ? ? 2.注冊組件服務(在 config/app.php添加以下內容)
? ? ? ? ? ? ? ? ? providers數組中添加:Barryvdh\Snappy\ServiceProvider::class,
? ? ? ? ? ? ? ? ?aliases數組中添加:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'PDF' => Barryvdh\Snappy\Facades\SnappyPdf::class,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'SnappyImage' => Barryvdh\Snappy\Facades\SnappyImage::class,
? ? ? ? ? ? 3.生成對應文件映射
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?執行命令: php artisan vendor:publish --provider="Barryvdh\Snappy\ServiceProvider"
? ? ? ? ? ? 4.配置snappy文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? 修改binary數值(雙引號中修改成wkhtmltopdf安裝的絕對路徑)
? ? ? ? ? ? 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).直接顯示在頁面中
? ? ? ? ? ? ? ?$pdf = App::make('snappy.pdf.wrapper'); //轉PDF snappy.pdf.wrapper? 轉image snappy.image.wrapper
? ? ? ? ? ? ? ? $content = 'HTML代碼';? 頁面中有中文一定要指定字符集{}
? ? ? ? ? ? ? ? $pdf->loadHTML($content);
? ? ? ? ? ? ? ? ?return $pdf->inline();
? ? ? 2).保存成文件
? ? ? ? ? ? ? ? ?$snappy = App::make('snappy.pdf');//轉PDF snappy.pdf? 轉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寫的組件