Laravel Snappy - Thư viện hỗ trợ tạo xuất hình ảnh và pdf từ nội dung HTML
Snappy là một thư viện PHP cho phép tạo các thumnails, snapshots và PDF từ URL hoặc trang HTML. Tác giả Barryvdh đã viết thư viện Laravel Snappy giúp việc tích hợp với Laravel dễ dàng hơn.
Snappy là một thư viện PHP cho phép tạo các thumnails, snapshots và PDF từ URL hoặc trang HTML. Tác giả Barryvdh đã viết thư viện Laravel Snappy giúp việc tích hợp với Laravel dễ dàng hơn.
// Generate a PDF From a view
$pdf = PDF::loadView('pdf.invoice', $data);
$pdf->download('invoice.pdf');
// Generate a PDF from a URL
PDF::loadFile('https://www.github.com')
->inline('github.pdf');
// Change the orientation and paper size
PDF::loadHtml($html)
->setPaper('a4')
->setOrientation('landscape')
->setOption('margin-bottom', 0)
->save('myfile.pdf');
Cùng với một số phương thức thuận tiện, Laravel Snappy có các tính năng hỗ trợ kiểm thử giúp bạn kiểm tra những nội dung mà Snappy tạo ra.
PDF::fake();
// Perform order shipping...
PDF::assertViewIs('view-pdf-order-shipping');
PDF::assertSee('Name');
Snappy yêu cầu wkhtmltopdf (có sẵn trên Windows, Mac và Linux), đây là một command line tool giúp hiển thị HTML thành PDF và các định dạng hình ảnh khác nhau. Hướng dẫn cài đặt có sẵn trong readme để bạn có thể đảm bảo wkhtmltopdf được cài đặt và đường dẫn được định cấu hình đúng cách.
Tìm hiểu thêm
Bạn có thể xem thêm các ví dụ ở trang github của repos này. Hãy nhớ kiểm tra nó để hiểu rõ hơn về các phương thức có sẵn cũng như phần thực hiện unit test.
Để bắt đầu, barryvdh/laravel-snappy có đầy đủ hướng dẫn cài đặt và source code. Ngoài ra, hãy nhớ xem KnpLabs/snappy để biết thêm chi tiết về cách sử dụng Snappy.