jbreuer95/laravel-make-pdf

使用无头Chrome实例将HTML转换为PDF

v0.0.3 2024-10-03 09:00 UTC

This package is auto-updated.

Last update: 2024-10-03 09:01:54 UTC


README

Latest Version on Packagist Total Downloads GitHub Tests Action Status GitHub PHPStan Action Status GitHub Pint Action Status

此包允许您通过Selenium使用无头Chrome轻松地将HTML转换为PDF,无需Node.js。它受到Spatie的laravel-pdf包的启发,该包使用BrowserShot和Puppeteer,但我们的解决方案提供了更以PHP为中心的方法,使用Selenium。

要求

Laravel Make PDF需要PHP 8.1+Laravel 10+

安装与设置

您可以通过Composer安装此包

composer require jbreuer95/laravel-make-pdf

安装后,使用以下Artisan命令下载无头Chrome

php artisan make-pdf:install

要自定义包配置,发布配置文件

php artisan vendor:publish --tag="laravel-make-pdf-config"

以下是发布配置文件的内容

return [
    // Configuration options will go here
];

用法

使用此包将HTML转换为PDF简单高效。以下是几个常见用例

基本示例

将Blade视图转换为PDF并流式传输到浏览器

use Breuer\MakePDF\Facades\PDF;

Route::get('/', function () {
    return PDF::view('view.name', [])->response();
});

或强制浏览器下载PDF文件

return PDF::view('view.name', [])->download();

选项

渲染原始HTML:您可以直接传递HTML而不是传递Blade视图

PDF::html('<h1>Hello World</h1>')

保存到文件:使用save方法将PDF存储在给定的文件路径中

->save('/path/to/save/yourfile.pdf')

自定义文件名:在从浏览器下载PDF时定义自定义名称。如果省略,将自动追加.pdf扩展名

->name('custom_filename')

流式传输PDF:直接在浏览器中显示PDF,而无需将其保存到磁盘

->response()

强制下载:提示浏览器立即下载PDF

->download()

许可证

此包是开源软件,根据MIT许可证授权。
请参阅许可证文件获取更多信息。