spatie / laravel-pdf
在Laravel应用程序中创建PDF
1.5.2
2024-07-16 07:42 UTC
Requires
- php: ^8.2
- illuminate/contracts: ^10.0|^11.0
- spatie/browsershot: ^4.0
- spatie/laravel-package-tools: ^1.16.1
- spatie/temporary-directory: ^2.2.1
Requires (Dev)
- ext-imagick: *
- larastan/larastan: ^2.7.0
- laravel/pint: ^1.13.7
- nunomaduro/collision: ^7.10
- orchestra/testbench: ^8.18
- pestphp/pest: ^2.30
- pestphp/pest-plugin-arch: ^2.5
- pestphp/pest-plugin-laravel: ^2.2
- phpstan/extension-installer: ^1.3.1
- phpstan/phpstan-deprecation-rules: ^1.1.4
- phpstan/phpstan-phpunit: ^1.3.15
- spatie/image: ^3.3.2
- spatie/laravel-ray: ^1.33
- spatie/pdf-to-image: ^2.2
- spatie/pdf-to-text: ^1.52.1
- spatie/pest-expectations: ^1.5
- spatie/pest-plugin-snapshots: ^2.1
- spatie/pixelmatch-php: ^1.0
- wnx/sidecar-browsershot: ^2.0
README
此软件包提供了一种简单的方法在Laravel应用程序中创建PDF。底层使用Chromium从Blade视图生成PDF。您可以使用现代CSS功能,如grid和flexbox,来创建漂亮的PDF。
以下是一个快速示例
use Spatie\LaravelPdf\Facades\Pdf; Pdf::view('pdfs.invoice', ['invoice' => $invoice]) ->format('a4') ->save('invoice.pdf')
这将渲染带有给定数据的Blade视图pdfs.invoice
并将其保存为PDF文件。
您也可以从您的控制器返回PDF作为响应
use Spatie\LaravelPdf\Facades\Pdf; class DownloadInvoiceController { public function __invoke(Invoice $invoice) { return Pdf::view('pdfs.invoice', ['invoice' => $invoice]) ->format('a4') ->name('your-invoice.pdf'); } }
您还可以测试您的PDF
use Spatie\LaravelPdf\Facades\Pdf; it('can render an invoice', function () { Pdf::fake(); $invoice = Invoice::factory()->create(); $this->get(route('download-invoice', $invoice)) ->assertOk(); Pdf::assertRespondedWithPdf(function (PdfBuilder $pdf) { return $pdf->contains('test'); }); });
支持我们
我们投入了大量资源来创建最好的开源软件包。您可以通过购买我们的付费产品之一来支持我们。
我们非常感谢您从您的家乡寄给我们一张明信片,说明您正在使用我们的哪个软件包。您可以在我们的联系页面上找到我们的地址。我们将在我们的虚拟明信片墙上发布所有收到的明信片。
文档
所有文档都可以在我们的文档网站上找到。
测试
要运行测试套件,您需要安装Puppeteer。请参阅Browsershot要求。通常npm -g i puppeteer
就可以解决问题。
此外,您还需要安装pdftotext
CLI,它是poppler-utils软件包的一部分。更多信息可以在spatie/pdf-to-text的readme中找到。通常brew install poppler-utils
就足够了。
最后,使用以下命令运行测试
composer test
变更日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
贡献
请参阅CONTRIBUTING以获取详细信息。
安全漏洞
请参阅我们的安全策略,了解如何报告安全漏洞。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。