FPDF Настольная клеточная упаковка

Я создал таблицу с помощью FPDF и хочу обернуть слово в ячейки (таблица).
это мой код

$w = array(7, 150, 40);
$pdf->Cell($w[0], 6, $count, 'LR');
$pdf->Cell($w[1], 6, $column_heading, 'LR');
$pdf->Cell($w[2], 6, $rekey, 'LR', 0, 'R');

$pdf->Ln();
$pdf->Cell(array_sum($w), 0, '', 'T');
$count++;

Это вне кода, как я могу разбить текст в ячейках.

введите описание изображения здесь

0

Решение

FPDF печатает ячейки и текст отдельно (это означает, что это как 2 слоя)

из руководства: http://www.fpdf.org/

Cell(float w [, float h [, string txt [, mixed border [, int ln [, string align [, boolean fill [, mixed link]]]]]]])

Предлагаемый подход:

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

В то же время высота ячейки h должны быть скорректированы (увеличение высоты).

Как я помню (специалисты по fpdf могут меня поправить) автоматическая настройка ячеек на основе контента еще не реализована как функция библиотеки.

коррекция: есть http://www.fpdf.org/en/doc/multicell.htm

0

Другие решения

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

пример:

//loop the data
foreach($data as $item){
$pdf->Cell(10, 5,$item[0],1,0);
$pdf->Cell(60, 5,$item[1],1,0);

//shrink font size until it fits the cell width
while($pdf->getStringWidth($item[2]) > $cellWidth){// loop until the string width is smaller than cell width
$pdf->SetFontSize($tempFontSize -= 0.1);
}
$pdf->Cell($cellWidth,5,$item[2],1,0);
//reset font size to standard
$tempFontSize = $fontSize;
$pdf->SetFontSize($fontSize);

$pdf->Cell(40,5,$item[3],1,1);
}
0

По вопросам рекламы [email protected]