SuperAPI AI 工具集

laravel-pdf

编程与开发

查看项目

更新于 10-16 03:39

技能介绍

用途:在 Laravel 应用中使用 spatie/laravel-pdf 生成 PDF,可从 Blade 视图或原始 HTML 创建,支持保存、内联返回或下载。

主要能力:格式化选项包括纸张格式(如 Format::A4)、横竖方向、边距和自定义尺寸(paperSize)。支持页眉页脚,可在其中使用 @pageNumber、@totalPages 和 @inlinedImage。支持条件格式化、保存到磁盘(如 ->disk('s3'))以及获取 base64。可在服务提供者中通过 Pdf::default() 设置默认值。

驱动:支持 browsershot(默认)、cloudflare、dompdf,可通过 LARAVEL_PDF_DRIVER 或 config/laravel-pdf.php 设置,也可按单个 PDF 用 ->driver() 切换。browsershot 需另装 spatie/browsershot,并可用 withBrowsershot() 定制;cloudflare 使用 Cloudflare Browser Rendering API,需要 CLOUDFLARE_API_TOKEN 和 CLOUDFLARE_ACCOUNT_ID,不支持 withBrowsershot()、onLambda() 或 PNG;dompdf 需 composer require dompdf/dompdf,仅支持 CSS 2.1 与部分 CSS 3,不支持 flexbox/grid,页眉页脚只在首尾出现;chrome 驱动需 chrome-php/chrome 和本地 Chrome/Chromium,不支持 tagged、withBrowsershot()、onLambda() 或 PNG。

用法:控制器中可用 pdf() 辅助函数返回响应,默认浏览器内联;加 ->download() 强制下载。队列生成用 saveQueued(),可配置磁盘、连接和队列,并支持 then 与 catch 回调;注意 saveQueued() 不能与 withBrowsershot() 一起使用。

测试:使用 Pdf::fake(),配合 assertSaved、assertRespondedWithPdf、assertQueued、assertNotQueued、assertViewIs、assertSee、assertViewHas 等断言。

限制:资料未提供安装方式、价格或性能等更多信息。