steven-starz / tcpdf-laravel
支持Laravel 6, 7, 8, 9版本的tcpdf
1.0.0
2024-02-21 06:56 UTC
Requires
- illuminate/support: ^6.0|^7.0|^8.0|^9.0|^10.0
- tecnickcom/tcpdf: 6.2.*|6.3.*|6.4.*|6.5.*|6.6.*|dev-main
This package is not auto-updated.
Last update: 2024-09-19 08:04:50 UTC
README
一个简单的Laravel服务提供者,用于包含TCPDF库的基本配置
TCPDF在PHP 7中实际上不支持,但有一个支持它的计划,请查看这里。
安装
可以通过在项目的composer.json
中要求StevenStarz/tcpdf-laravel
包来通过composer
安装Laravel TCPDF服务提供者。(由于该包需要TCPDF,因此安装可能需要一些时间。遗憾的是其.git文件夹非常庞大)
composer require StevenStarz/tcpdf-laravel
或者
Laravel 5.5+将使用自动发现功能。
{ "require": { "StevenStarz/tcpdf-laravel": "^9.0" } }
如果您不使用自动发现,您需要在config/app.php
中包含服务提供者/外观。
'providers' => [ //... StevenStarz\TCPDF\ServiceProvider::class, ] //... 'aliases' => [ //... 'PDF' => StevenStarz\TCPDF\Facades\TCPDF::class ]
(请注意:TCPDF不能用作别名)
对于Lumen,您应该添加以下行
$app->register(StevenStarz\TCPDF\ServiceProvider::class); class_alias(StevenStarz\TCPDF\Facades\TCPDF::class, 'PDF');
就这样!您已经准备好了。
以下是一个简单的示例
use PDF; // at the top of the file PDF::SetTitle('Hello World'); PDF::AddPage(); PDF::Write(0, 'Hello World'); PDF::Output('hello_world.pdf');
生成多个PDF的另一个示例
use PDF; // at the top of the file for ($i = 0; $i < 5; $i++) { PDF::SetTitle('Hello World'.$i); PDF::AddPage(); PDF::Write(0, 'Hello World'.$i); PDF::Output(public_path('hello_world' . $i . '.pdf'), 'F'); PDF::reset(); }
有关所有可用函数的列表,请参阅TCPDF文档
配置
Laravel-TCPDF附带一些基本配置。如果您想覆盖默认值,可以发布配置,如下所示
php artisan vendor:publish --provider="StevenStarz\TCPDF\ServiceProvider"
现在访问config/tcpdf.php
进行自定义。
use_original_header
用于使用TCPDF的原始Header()
。- 请注意,
PDF::setHeaderCallback(function($pdf){})
会覆盖此设置。
- 请注意,
use_original_footer
用于使用TCPDF的原始Footer()
。- 请注意,
PDF::setFooterCallback(function($pdf){})
会覆盖此设置。
- 请注意,
use_fpdi
是为了让我们的内部助手扩展TcpdfFpdi
而不是TCPDF
。- 请注意,fpdi不是我的项目的依赖项,因此您需要遵循他们的安装说明这里
头部/尾部助手
我收到了一个请求此功能的拉取请求,因此我添加了这个功能
现在您可以使用PDF::setHeaderCallback(function($pdf){})
或PDF::setFooterCallback(function($pdf){})