Вместо этого:
// Draw text
foreach (explode("</p>", $info[0]['biography']) as $i => $line) {
$page->drawText($line, 0, 820 - $i * 10, 'UTF-8');
}
Попробуйте (не пробовали):
// Draw text
$charsPerLine = 50;
$heightPerLine = 10;
$text = str_replace('<p>','',$info[0]['biography']);
$lines = array();
foreach (explode("</p>", $text) as $line) {
$lines = array_merge(
$lines,
explode(
"\n",
wordwrap($line, $charsPerLine, "\n")
)
);
}
foreach ( $lines as $i=>$line ) {
$page->drawText($line, 0, 820 - $i * $heightPerLine, 'UTF-8');
}
Вам, очевидно, нужно поиграть с этими двумя "константами", чтобы получить наилучшие результаты.
Надеюсь, это поможет.