qipsius / tcpdf-bundle
一个用于轻松集成TCPDF到Symfony的包
Requires
- php: >=8.1
- symfony/framework-bundle: >=6.1
- tecnickcom/tcpdf: *
README
此包是基于 WhiteOctoberTCPDFBundle 的分支。此包简化了在Symfony >= 6.0应用程序中使用TCPDF PDF生成库。
对于6.0以下的Symfony版本,请使用2.0分支
安装
步骤1:设置包及其依赖项
composer require qipsius/tcpdf-bundle
版本限制(可选)
默认情况下,此包不会限制Composer安装的TCPDF版本。(有关此非同寻常决策的解释见此处)。这意味着一个 composer update
可能会更新到TCPDF的新主要版本。由于此包只是TCPDF的一个薄包装,通常可以无问题地进行此类升级。
但是,如果您确实想限制TCPDF的版本,可以使用以下方法查找当前安装的版本
composer show tecnickcom/tcpdf
并将您的项目的 composer.json
中的TCPDF版本约束添加到 requires
部分。例如,如果安装了TCPDF版本 6.6.5
,则 "tecnickcom/tcpdf": "^6.6.5"
允许在升级时使用小于7的任何版本。
步骤2:在kernel中启用包
将包添加到您的kernel中的 registerBundles()
方法
// config/bundles.php return [ // ... Qipsius\TCPDFBundle\QipsiusTCPDFBundle::class => ['all' => true], // ... ];
(此项目尚未配置为使用Symfony Flex,因此对 config/bundles.php
的此更改将不会自动执行。)
如果您想进行服务自动装配,则需要添加一个服务别名
# config/services.yaml services: # ... # the `qipsius.tcpdf` service will be injected when a # `Qipsius\TCPDFBundle\Controller\TCPDFController` type-hint is detected Qipsius\TCPDFBundle\Controller\TCPDFController: '@qipsius.tcpdf'
使用TCPDF
您可以将 TCPDFController
服务注入到您的类中
use Qipsius\TCPDFBundle\Controller\TCPDFController; class PDFService { protected TCPDFController $tcpdf; public function __construct(TCPDFController $tcpdf) { $this->tcpdf = $tcpdf; } ... }
从现在开始,您将像往常一样使用TCPDF对象进行工作。
配置
配置值
您可以通过这种方式向TCPDF传递参数
# config/packages/qipsius_tcpdf.yaml qipsius_tcpdf: tcpdf: k_title_magnification: 2
您可以在 Qipsius\TCPDFBundle\DependencyInjection\Configuration::addTCPDFConfig
中看到默认参数值。
如果您愿意,也可以使用TCPDF自己的默认值
# config/packages/qipsius_tcpdf.yaml qipsius_tcpdf: tcpdf: k_tcpdf_external_config: false # the values set by this bundle will be ignored
使用自定义类
如果您想使用自己的基于TCPDF的自定义类,您可以在配置中使用 class
参数
# config/packages/qipsius_tcpdf.yaml qipsius_tcpdf: class: '\App\Services\TCPDFService'
该类必须从 TCPDF
类扩展;如果不是这样,将抛出异常。
许可协议
此包遵循MIT许可协议。请参阅包中的完整许可协议
Resources/meta/LICENSE
贡献
我们欢迎对这个项目的贡献,包括pull requests、问题(以及现有问题的讨论)。
如果您想贡献代码但不确定从哪里开始,问题列表 是一个好的起点。如果您是第一次贡献代码,您可能发现Github的关于 分支项目 的指南很有帮助。
所有贡献者(无论贡献代码、参与问题讨论还是以其他方式参与)都必须遵守我们的 行为准则。