Ya he encontrado una solución. Os pongo el método de una clase que he llamado Ticket.
Código:
function addTextBlock($text){
$lin = 1;
$temp = '';
for($i=0; $i<strlen($text); $i++){
$lin = $lin + 1;
$temp .= $text[$i];
if ($lin > 25){
$lin = 1;
$this->addTextLine($temp);
$temp = '';
}
}
$this->addTextLine($temp);
}
Voy recorriendo el texto y cada X caracteres imprimo la subcadena como una línea con imagettftext. El método addTextLine automáticamente imprime en a continuación de la anterior línea impresa. No se si habrá una manera mejor, pero funciona...
Saludos y muchas gracias!