razvan171514 / pdf-gen
用于生成PDF的Laravel扩展包。
1.0.0
2020-04-30 12:20 UTC
Requires
- dompdf/dompdf: ^0.8.5
- erusev/parsedown: ^1.7
- mpdf/mpdf: ^8.0
Requires (Dev)
- orchestra/testbench: ^5.1
- setasign/fpdf: ^1.8
This package is auto-updated.
Last update: 2024-09-29 06:14:23 UTC
README
用于生成PDF的Laravel扩展包
在您的 composer.json 中添加此包并更新 composer。这将下载包以及以下库
- mpdf/mpdf
- erusev/parsedown
- dompdf/dompdf
$ composer require razvan171514/pdf-gen
安装
Laravel 7.x
在 config/app.php
文件中,可以添加一个别名,以便在导入外观时使用。
... 'aliases' => [ ... 'Pdf' => razvan\PdfGen\Pdf::class, ... ], ...
发布配置
默认配置设置在 config/pdf.php
中。将此文件复制到您的配置目录以修改值。您可以使用以下命令发布配置
$ php artisan vendor:publish --provider="razvan\PdfGen\PdfServiceProvider"
配置文件包含此包设置选项的选项,例如驱动配置和特定驱动配置(例如dompdf)。
return [ /** mpdf , dompdf*/ 'driver' => 'dompdf', 'dompdf_config' => [ 'page' => 'A4', /** landscape, portrait */ 'orientation' => 'portrait', ], /** path to template directoy */ 'templates_path' => __DIR__ . '/../resources/views/', /** path to output directory */ 'output_path' => __DIR__ . '/../resources/views/pdfs/', ];
这里还配置了模板目录的路径以及生成的PDF将存储的路径。而不是默认的硬编码路径,可以使用 base_path 助手
... 'templates_path' => base_path('resources/views'), 'output_path' => base_path('resources/views/pdfs'), ...
注意: 输出文件夹必须存在,否则将抛出异常
用法
整个包的重载工作由 razvan\PdfGen\Pdf::class
完成,它解析 config/pdf.php
文件中的配置并返回所需的PDF文件。
Pdf::generate('file_name.html', [ 'name' => 'oputput_file_name.pdf', 'mode' => 'F', ]);
razvan\PdfGen\Pdf::generate()
方法接受两个参数
- 模板文件(支持的类型有html、markdown、view)。
- 包含两个元素的数组:名称和模式。名称键包含输出文件名,模式键包含将要执行的操作。
注意: 第二个参数是可选的,如果不存在,则名称键默认为
file.pdf
,模式键默认为F
模式
F
用于在配置中指定的路径的项目文件夹中保存PDF文件。D
用于下载PDF文件。
注意: 对于dompdf驱动程序,只有
D
模式不可用
示例
... use razvan\PdfGen\Pdf; ... // html template Pdf::generate('file_name.html', ['name' => 'some_other_name.pdf']); // markdown template Pdf::generate('file_name.md', ['mode' => 'D']); // view Pdf::generate(view('blade_view')); // view with data Pdf::generate(view('blade_view', compact('data')), [ 'name' => 'cool_name.pdf', 'mode' => 'D', ]);
注意: 如果在
config/app.php
文件中添加了别名,则可以仅使用use Pdf;
更改导入语句
注意: 生成方法接受的第二个参数可以通过两个键之一传递(另一个将使用其默认值)