У меня есть отчет, как на картинке выше. Текст столбцов заголовка слишком длинный, и я хочу сделать перенос текста на эту ячейку, но он не работает и показывает данные в вертикальных столбцах. Я прочитал документ FPDF .. и пытался много, но все еще не работал, это результат, который я получаю с моим кодом:
что я могу сделать, чтобы обернуть текст первого столбца?
function toPDF($data, $cols = NULL, $cols_event = NULL){
global $action, $meta;
if ($cols) {
// translate column weighting to page width in mm
$colno = 0;
$max_col = count($cols);
foreach ($cols as $col) {
$colno += $col[0];
}
foreach ($cols as $key => $col) {
$cols[$key][0] = (int)($col[0] / $colno * 196);
}
} elseif($cols_event){
$colno = 0;
$max_col = count($cols_event);
foreach ($cols_event as $col) {
$colno += $col[0];
}
foreach ($cols_event as $key => $col) {
$cols[$key][0] = (int)($col[0]);
}
} else {
$max_col = 0;
foreach ($data as $line) {
if (is_array($line)) $max_col = max(count($line), $max_col);
}
$width = $max_col == 0 ? 196 : 196 / $max_col;
$cols = array();
for ($cc = 0; $cc < $max_col; $cc++) {
$cols[] = array($width, "");
}
}
class PDF extends FPDF{
function Header()
{
}
function Footer()
{
//Go to 1.5 cm from bottom
$this->SetY(-15);
//Select Arial italic 8
$this->SetFont('Arial', 'I', 8);
//Print centered page number
$this->Cell(0, 10, 'Page ' . ($this->page . ' of {nb}'), 0, 0, 'C');
}
}
// $pdf = new PDF('P', 'mm', 'Letter');
$pdf = new PDF('P','mm',array(550,300));
$pdf->SetDisplayMode("real", "continuous");
$pdf->AliasNbPages();
$pdf->SetFont('Arial', '', 10);
$pdf->SetTextColor(0);
$pdf->SetDrawColor(200, 200, 200);
$pdf->SetFillColor(255, 255, 255);
$pdf->SetLineWidth(.1);
$pdf->SetLeftMargin(10);
$pdf->AddPage();
$pdf->Cell(190,10, $meta['title'],"B",1,"C",0);
$first = true;
foreach ($data as $line) {
if (is_array($line)) {
for ($field = 0; $field < $max_col; $field++) {
if (isset($line[$field])) {
if(is_array($line[$field])) {
$pdf->Cell($cols[$field][0], 6, strip_tags($line[$field][0]), 1, 0, $cols[$field][1], 1);
} else {
if($first) {
$pdf->Cell($cols[$field][0], 6, strip_tags($line[$field]), 1, 0, 'L', 1);
} else {
$pdf->MultiCell($cols[$field][0], 6, strip_tags($line[$field]));
}
}
} else {
$pdf->Cell($cols[$field][0], 6, "", 1, 0, 'L', 1);
}
}
}
$pdf->Ln(6);
$first = false;
}
$pdf->Output($action . ".pdf", "I");
}