maxxscho / laravel-tcpdf
A simple Laravel 4 service provider with some basic configuration for including the TCPDF library
Requires
- php: >=5.3.0
- illuminate/support: ~4
- tecnick.com/tcpdf: 6.*
README
NOT MAINTAINED ANYMORE!!
Laravel TCPDF
A simple Laravel 4 service provider with some basic configuration for including the TCPDF library
Installation
The Laravel TCPDF service provider can be installed via composer by requiring the maxxscho/laravel-tcpdf
package in your project's composer.json
. (The installation may take a while, because the package requires TCPDF. Sadly its .git folder is very heavy)
{ "require": { "maxxscho/laravel-tcpdf": "0.*" } }
Next, add the service provider to app/config/app.php
.
'providers' => [ //.. 'Maxxscho\LaravelTcpdf\LaravelTcpdfServiceProvider', ]
That's it! You're good to go.
Here is a little example:
PDF::SetTitle('Hello World'); PDF::AddPage(); PDF::Write(0, 'Hello World'); PDF::Output('hello_world.pdf');
For a list of all available function take a look at the TCPDF Documentation
Configuration
Laravel-TCPDF comes with some basic configuration. If you want to override the defaults, you can publish the config, like so:
php artisan config:publish maxxscho/laravel-tcpdf
Now access app/config/packages/maxxscho/laravel-tcpdf/config.php
to customize.
Assets
There is a 'blank' image in the assets folder of the package, which is in certain circumstances needed by TCPDF. Publish the assets, like so:
php artisan asset:publish maxxscho/laravel-tcpdf
Extend/Overwrite
Extending or overwriting Laravel TCPDF is easy. Simply extend \Maxxscho\LaravelTcpdf\LaravelTcpdf
with your own class.
Custom Fonts
To add custom fonts set the fonts_directory in the config, relative to the public path. For example 'fonts/'
.
To use a custom font you have to convert a font for TCPDF.
Copy your custom font(s) to your fonts path, in our case public/fonts/
.
In your terminal do this:
vendor/maxxscho/laravel-tcpdf/vendor/tecnick.com/tcpdf/tools/tcpdf_addfont.php -i public/fonts/yourfont.ttf -o public/fonts
This uses a little tool provided by TCPDF to convert fonts for TCPDF.
The -i
flag is for the input fonts (comma-separated list)
and the -o
flag is for the output directory.
Read here all about TCPDF fonts and how to convert them the new way.
Custom Header
"PDF::setHtmlHeader($custom_header); PDF::Header();
"