2015-08-06 9 views
1

У меня возникли проблемы с wordwrapping с Zend Framework2 PDF. Я извлечение значений из базы данных для записи в шаблон PDF, но для простоты я просто переменный со строкой:Zend PDF wordwrap

$text = "ASDF ASDF ASDF ASDF ASDF ASDF ASDF"; 
$newtext = wordwrap($text, 20, "<br/>"); 
$page->drawText($newtext,50,50); 

Всей этот код делает, вставив
тег когда-либо 20 символов:

ASDF ASDF ASDF ASDF<br/>ASDF ASDF ASDF 

Любые идеи, это не может быть ограничение ZF2 или ZendPDF, может ли это?

+0

Что это не происходит? Не помещается ли этот тег? Или текст отображается неправильно? – BurningLights

+0

Я хочу, чтобы строка начала новую строку после 20 символов. Поскольку я статически назначаю этот текст для печати в координатах X, Y 50,50, я не хочу, чтобы текст работал со страницей PDF, если он превышает ширину страницы. – Mason

+0

Вы пробовали использовать «\ n» вместо «
». Я не знаю, будет ли это работать, но стоит попробовать. – BurningLights

ответ

1

Нашел код, который помог мне решить его. Вместо того, чтобы пытаться выполнить одно событие drawText, чтобы написать одну строку на нескольких строках, вы должны взорвать строку и петлю через массив, рисуя каждый элемент в строке.

$line = 225; 
$textChunk = wordwrap($text, 70, "\n"); 
foreach(explode("\n", $textChunk) as $textLine){ 
    if ($textLine!=='') { 
    $page->drawText(strip_tags(ltrim($textLine)), 75, $line, 'UTF-8'); 
    $line -=12; 
    } 
}