TCPDF Multicell valign не работает - PullRequest
2 голосов
/ 19 декабря 2011

Я пытаюсь создать PDF с TCPDF 5.9.141, но valign, похоже, не работает. Это функция CakePHP 2.0, но я не думаю, что это имеет значение. В соответствии с документацией все действует в моем коде:

  • Вертикальное выравнивание текста (требуется $ maxh = $ h> 0)
  • Эта функция работает, только когда $ ishtml = false
  • и ячейка должна умещаться на одной странице.
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);

$pdf->SetFont('helvetica', '', 7);
$pdf->AddPage();
$pdf->MultiCell($w=20, $h=15, $txt='teszt', $border='1', $align='C', $fill=false, $x=1, $y=1, $reseth=true, $strech=0, $ishtml=false, $autopadding=true, $maxh=15,  $valign='M', $fitcell=true);
$pdf->Output('cimkelista.pdf', 'I');

У кого-нибудь есть предложения?
Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 10 мая 2013

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

0 голосов
/ 21 декабря 2011

Вы уверены, что не должно быть:

$pdf->MultiCell(20, 15, 'teszt', '1', 'C', false, 1, 1, true, 0, false, true, 15,  'M', true);

Давно не использовал tcpdf, но это хороший первый шаг

Это также основано на fpdf, где многоэлемент имеет только:

MultiCell(float w, float h, string txt [, mixed border [, string align [, boolean fill]]])
0 голосов
/ 21 декабря 2011

Приведенный выше код основан на документации, но в примерах не используется так много параметров, поэтому вот рабочий вызов функции:

$pdf->MultiCell($w=20, $h=15, $txt='teszt', $border='TL', $align='C', $fill=0, 1, $x=$startx, $y=$starty, $reseth=true, $strech=0, $ishtml=false, $autopadding=true, $maxh=13, $valign='M');
...