Problems creating a table with FPDF

1

I want to create a table like this with FPDF, and that more tables are added like these according to the data that a query returns. Even so, having a table template helps me

This is the table:

The html code in the table is as follows:

<table border="1" cellspacing="0" cellpadding="0" align="left" width="335">
        <tbody>
        <tr>
            <td class="border-solid" rowspan="4" colspan="2"><img width="64" height="64" id="_x0000_i1025" src=""></td>
            <td class="border-solid" colspan="3" style="height:37px;">

            </td>           
        </tr>

        <tr>

            <td class="border-solid" colspan="3">

            </td>


        </tr>

        <tr>

            <td class="border-solid" colspan="3">

            </td>


        </tr>

        <tr>
            <td class="border-solid" colspan="3">

            </td>                                       
        </tr>
        <tr>
            <td class=" border-left-solid">

            </td>
            <td class=" border-left-solid">

            </td>
            <td class=" border-left-solid">

            </td>
            <td class=" border-left-solid">

            </td>
            <td class=" border-left-solid">

            </td>
        </tr>                   
        <tr>
            <td class=" border-left-solid">

            </td>
            <td class=" border-left-solid">

            </td>
            <td class=" border-left-solid">

            </td>
            <td class=" border-left-solid">

            </td>
            <td class=" border-left-solid">

            </td>
        </tr>           
        <tr>
            <td class=" border-left-solid">

            </td>
            <td class=" border-left-solid">

            </td>
            <td class=" border-left-solid">

            </td>
            <td class=" border-left-solid">

            </td>
            <td class=" border-left-solid">

            </td>
        </tr>
        <tr>
            <td class=" border-left-solid">

            </td>
            <td class=" border-left-solid">

            </td>
            <td class=" border-left-solid">

            </td>
            <td class=" border-left-solid">

            </td>
            <td class=" border-left-solid">

            </td>
        </tr>

    </tbody>
</table>

For now I have this code:

$pdf = new FPDF();
$pdf->SetFont('Arial','',8);
$pdf->AddPage();
$pdf->Cell(50,10,'',1);
$pdf->Cell(50,10,'',1);
$pdf->Ln();
$pdf->Cell(50,10,'',1);
$pdf->Cell(50,10,'',1);
$pdf->Ln();
$pdf->Cell(50,10,'',1);
$pdf->Cell(50,10,'',1);
$pdf->Ln();
$pdf->Cell(50,10,'',1);
$pdf->Cell(50,10,'',1);
$pdf->Ln();
$pdf->Cell(5,10,'D',1);
$pdf->Cell(10,10,'',1);
$pdf->Cell(10,10,'',1);
$pdf->Cell(70,10,'',1);
$pdf->Cell(5,10,'',1);
$pdf->Ln();
$pdf->Cell(5,10,'',1);
$pdf->Cell(10,10,'',1);
$pdf->Cell(10,10,'',1);
$pdf->Cell(70,10,'',1);
$pdf->Cell(5,10,'',1);
$pdf->Ln();
$pdf->Cell(5,10,'',1);
$pdf->Cell(10,10,'',1);
$pdf->Cell(10,10,'',1);
$pdf->Cell(70,10,'',1);
$pdf->Cell(5,10,'',1);
$pdf->Ln();
$pdf->Cell(5,10,'',1);
$pdf->Cell(10,10,'',1);
$pdf->Cell(10,10,'',1);
$pdf->Cell(70,10,'',1);
$pdf->Cell(5,10,'',1);
$pdf->Ln();
$pdf->Output();

That shows me this table

I have problems creating line breaks and joining columns of type colspan or rowspan

    
asked by Lombarda Arda 18.05.2017 в 12:32
source

1 answer

1

You can use a more versatile feature library such as TCPDF .

An example of how to use ob_start() to directly design the HTML that we want to generate in the PDF in the same file:

<?php
// Comenzamos a guardar todo el HTML generado en el búffer */
ob_start();
/* A partir de ahora podríamos hacer consultas SQL, generar tablas, cabeceras,
  y casi todo tipo de código HTML que será almacenado para su uso posterior */
?><table border="1" cellspacing="0" cellpadding="0" align="left" width="335">
        <tbody>
        <tr>
            <td class="border-solid" rowspan="4" colspan="2"><img width="64" height="64" id="_x0000_i1025" src=""></td>
            <td class="border-solid" colspan="3" style="height:37px;">
            </td>
        </tr>
        <tr>
            <td class="border-solid" colspan="3">
            </td>
        </tr>
        <tr>
            <td class="border-solid" colspan="3">
            </td>
        </tr>
        <tr>
            <td class="border-solid" colspan="3">
            </td>
        </tr>
        <tr>
            <td class=" border-left-solid">
            </td>
            <td class=" border-left-solid">
            </td>
            <td class=" border-left-solid">
            </td>
            <td class=" border-left-solid">
            </td>
            <td class=" border-left-solid">
            </td>
        </tr>
        <tr>
            <td class=" border-left-solid">
            </td>
            <td class=" border-left-solid">
            </td>
            <td class=" border-left-solid">
            </td>
            <td class=" border-left-solid">
            </td>
            <td class=" border-left-solid">
            </td>
        </tr>
        <tr>
            <td class=" border-left-solid">
            </td>
            <td class=" border-left-solid">
            </td>
            <td class=" border-left-solid">
            </td>
            <td class=" border-left-solid">
            </td>
            <td class=" border-left-solid">
            </td>
        </tr>
        <tr>
            <td class=" border-left-solid">
            </td>
            <td class=" border-left-solid">
            </td>
            <td class=" border-left-solid">
            </td>
            <td class=" border-left-solid">
            </td>
            <td class=" border-left-solid">
            </td>
        </tr>
    </tbody>
</table>
<?php
/* Guardamos el HTML generado en una variable para trabajar con ella */
$html = ob_get_contents();
/* Deshacemos todo lo generado y empezamos de nuevo */
ob_end_clean();

require 'TCPDF-6.2.13/tcpdf.php';

/* Creamos el documento PDF */
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
/* Agregamos la primera página */
$pdf->AddPage();
/* Generamos su contenido a partir del código HTML */
$pdf->writeHTML($html, true, false, true, false, '');
/* Damos salida del documento al navegador */
$pdf->Output('tu_pdf.pdf', 'I');
    
answered by 18.05.2017 / 14:20
source