Symfony 2 und TCPDF

Für die Erstellung von PDF-Dokumenten gibt es diverse gute oder schlechte PHP-Bibliotheken im Netz. Besonders gut finde ich persönlich das Paket TCPDF.

Wer TCPDF mit Symfony 2 (Version 2.3.x) nutzen möchte, kann dies relativ einfach tun. Dazu muss zunächst das Paket via composer geladen werden. Dazu muss die composer.json im root-Directory wie folgt angepasst werden:

    "require": {
        ...
        "tecnick.com/tcpdf": "dev-master"
        ...
    },

Anschließend führt ihr ein Composer-Update aus:

php composer.phar update

Wer hier Probleme mit einem Composer-Timeout aufgrund einer langsamen Internetleitung bekommt, dem sei dieses kleine Tutorial ans Herz gelegt.

Im Controller könnt ihr nun ganz einfach und wie in der Dokumentation von TCPDF beschrieben die PDF-Klasse nutzen. Der Klassenaufruf erfolgt dann so:

$pdf = new \TCPDF(...)

Um den führenden Slash zu vermeiden, könnt ihr im Controller ein use TCPDF; nutzen. Dann kann die Klasse wie gewohnt aufgerufen werden:

$pdf = new TCPDF(...)

Symfony 2 Composer timeout

Wer timeout-Probleme hat bei der Nutzung des Composers hat (z.B. weil er eine lahme Leitung hat wie ich ;-)) dem sei die Variable COMPOSER_PROCESS_TIMEOUT ans Herz gelegt. Vergleicht dazu auch http://getcomposer.org/doc/03-cli.md.

In der Windows-Kommandozeile könnt ihr den Wert wie folgt setzen:

SET COMPOSER_PROCESS_TIMEOUT=20000

für 20 Minuten z.B. Beim anschließenden composer-Aufruf via

php composer.phar update

wird dann der längere Timeout verwendet und bricht nicht vorzeitig ab. Hoffe damit dem ein oder anderen weiterhelfen zu können.