This project is not actively maintained. For Symfony 3.4 and above, you may wish to use this fork., (*1)
WhiteOctoberTCPDFBundle
This bundle facilitates easy use of the TCPDF PDF generation library in
Symfony2 applications., (*2)
Installation
Step 1: Setup Bundle and dependencies
composer require whiteoctober/tcpdf-bundle
Version constraining (optional)
By default, this bundle does not constrain the version of TCPDF that composer installs.
(An explanation of this unusual decision is here).
This means that a composer update
could update to a new major version of TCPDF.
Since this bundle is only a thin wrapper around TCPDF, you can normally do such an upgrade without issue., (*3)
However, if you do wish to constrain the TCPDF version, find out what version you currently have installed with:, (*4)
composer show tecnickcom/tcpdf
And amend your project's composer.json
to add a TCPDF version constraint in the requires
section.
For example, if TCPDF version 6.2.17
was installed, "tecnickcom/tcpdf": "^6.2.17"
will allow anything < 7 when upgrading., (*5)
Step 2: Enable the bundle in the kernel
Add the bundle to the registerBundles()
method in your kernel:, (*6)
In Symfony < 4:, (*7)
``` php
// app/AppKernel.php
<?php, (*8)
public function registerBundles()
{
$bundles = array(
// ...
new WhiteOctober\TCPDFBundle\WhiteOctoberTCPDFBundle(),
);
}, (*9)
In Symfony 4:
```php
// config/bundles.php
return [
// ...
WhiteOctober\TCPDFBundle\WhiteOctoberTCPDFBundle::class => ['all' => true],
// ...
];
(This project is not yet configured with Symfony Flex, so this change to config/bundles.php
won't be done automatically.), (*10)
If you want to do service autowiring, you'll need to add an alias for the service:, (*11)
# app/config/services.yml (Symfony 3)
# config/services.yaml (Symfony 4)
services:
# ...
# the `white_october.tcpdf` service will be injected when a
# `WhiteOctober\TCPDFBundle\Controller\TCPDFController` type-hint is detected
WhiteOctober\TCPDFBundle\Controller\TCPDFController: '@white_october.tcpdf'
Using TCPDF
You can obtain the white_october.tcpdf
service from the container,
and then create a new TCPDF object via the service:, (*12)
``` php
$pdfObj = $container->get("white_october.tcpdf")->create();, (*13)
From hereon in, you are using a TCPDF object to work with as normal.
Configuration
--------------
### Configuration values
You can pass parameters to TCPDF like this:
```yaml
# app/config/config.yml (Symfony < 4)
# config/packages/white_october_tcpdf.yaml (Symfony 4)
white_october_tcpdf:
tcpdf:
k_title_magnification: 2
You can see the default parameter values in
WhiteOctober\TCPDFBundle\DependencyInjection\Configuration::addTCPDFConfig
., (*14)
If you want, you can use TCPDF's own defaults instead:, (*15)
white_october_tcpdf:
tcpdf:
k_tcpdf_external_config: false # the values set by this bundle will be ignored
Using a custom class
If you want to use your own custom TCPDF-based class, you can use
the class
parameter in your configuration:, (*16)
# app/config/config.yml (Symfony < 4)
# config/packages/white_october_tcpdf.yaml (Symfony 4)
white_october_tcpdf:
class: 'Acme\MyBundle\MyTCPDFClass'
The class must extend from the TCPDF
class; an exception will be
thrown if this is not the case., (*17)
License
This bundle is under the MIT license. See the complete license in the bundle:, (*18)
Resources/meta/LICENSE
This project was originally located at https://github.com/whiteoctober/WhiteOctoberTCPDFBundle, (*19)