qipsius/tcpdf-bundle

一个用于轻松集成TCPDF到Symfony的包

安装数: 441,865

依赖: 1

建议者: 0

安全: 0

星标: 22

关注者: 2

分支: 44

开放问题: 0

类型:symfony-bundle

3.0.5 2024-08-17 13:41 UTC

This package is auto-updated.

Last update: 2024-09-17 13:53:24 UTC


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的关于 分支项目 的指南很有帮助。

所有贡献者(无论贡献代码、参与问题讨论还是以其他方式参与)都必须遵守我们的 行为准则