Ошибка FPDF: некоторые данные уже были выведены. Не могу отправить файл PDF - PullRequest
1 голос
/ 29 января 2020

Я использую библиотеку FPDF для создания PDF-документа, но получаю ошибку "Некоторые данные уже выведены, не удается отправить PDF" .

<?php
function fetch_data()
{
    //užklausa
    include('database_connection.php');
    $query = "SELECT * FROM mvap.daiktas";
    $statement = $connect->prepare($query);
    $statement->execute();
    $result = $statement->fetchAll();
    $id = 1;
    foreach($result as $row)
    {
        $pavadinimas = $row['daiktoPavadinimas'];
        $inventorinis = $row['inventorinisNr'];
    }
    $data = '2020-01-25';
    $html = '
    <body>
        <style>
            th {font-weight: bold; font-family:  };
            tr {font-weight: normal};
        </style>
        <table border="1" cellpadding="4" cellspacing="0" style="text-align: center">
            <tr>
                <th width="30px" height="5">Eil. Nr.</th>
                <th width="130px" height="5">Materialinės vertybės pavadinimas</th>
                <th width="80px" height="5">Inventorinis numeris</th>
                <th width="100px" height="5">Gamyklinis numeris</th>
                <th width="70" height="5">Gavimo data</th>
                <th width="65" height="5">Gavėjo parašas</th>
                <th width="70" height="5">Grąžinimo data</th>
                <th width="80" height="5">Grąžinančio asmens parašas</th>
                <th width="70" height="5">Priimančio asmens parašas</th>
                <th width="80" height="5">Pastabos</th>
            </tr>
            <tr>
                <td>'. $id .'</td>
                <td>'. $pavadinimas .'</td>
                <td>'. $inventorinis .'</td>
                <td>-</td>
                <td>'. $data .'</td>
                <td>-</td>
                <td>-</td>
                <td>-</td>
                <td>-</td>
                <td>-</td>
            </tr>

        </table>
    </body>

    ';
    return $html;
}
if(isset($_POST['submit1']))
{
    require('libs/TCPDF/tcpdf_import.php');
    $obj_pdf = new TCPDF('L', PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
    $obj_pdf->SetCreator(PDF_CREATOR);
    $obj_pdf->SetTitle("Apskaitos kortelė");
    $obj_pdf->SetHeaderData('', '', PDF_HEADER_TITLE, PDF_HEADER_STRING);
    $obj_pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
    $obj_pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
    $obj_pdf->SetDefaultMonospacedFont('dejavuserif');
    $obj_pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
    $obj_pdf->SetMargins(PDF_MARGIN_LEFT, '10', PDF_MARGIN_RIGHT);
    $obj_pdf->setPrintHeader(false);
    $obj_pdf->setPrintFooter(false);
    $obj_pdf->SetAutoPageBreak(TRUE, 10);
    $obj_pdf->SetFont('dejavuserif', '', 10);
    $obj_pdf->AddPage();
    $obj_pdf->Cell(0,6,'ĮMONĖ',0,0,'C');
    $obj_pdf->Ln();
    $obj_pdf->SetLineWidth(0.5);
    $obj_pdf->Line(5, 15, 297-5, 15);
    $obj_pdf->Ln();
    $obj_pdf->SetFontSize(12);
    $obj_pdf->Cell(0,20,'KOMPIUTERINĖS TECHNIKOS, RYŠIO PRIEMONIŲ IR PROGRAMINĖS ĮRANGOS APSKAITOS KORTELĖ',0,0,'C');
    $obj_pdf->Ln();
    $obj_pdf->SetFontSize(10);
    $obj_pdf->Cell(20, 40, 'Valdybos, skyriaus pavadinimas' , 0, false, 'L', 0, '', 0, false, 'T', 'M');
    $obj_pdf->Cell(230, 40, 'SKOV NKC', 0, false, 'C', 0, '', 0, false, 'T', 'M');
    $obj_pdf->Line(10, 65, 297-100, 65);
    $obj_pdf->Ln(0);
    $obj_pdf->Cell(20, 55, 'Turto buvimo vieta, kab. Nr.' , 0, false, 'L', 0, '', 0, false, 'T', 'M');
    $obj_pdf->Cell(230, 55, 'Kabinetas', 0, false, 'C', 0, '', 0, false, 'T', 'M');
    $obj_pdf->Line(10, 72, 297-100, 72);
    $obj_pdf->Ln(0);
    $obj_pdf->Cell(20, 70, 'Atsakingo žmogaus vardas, pavardė' , 0, false, 'L', 0, '', 0, false, 'T', 'M');
    $obj_pdf->Cell(230, 70, 'Vardenis Pavardenis', 0, false, 'C', 0, '', 0, false, 'T', 'M');
    $obj_pdf->Line(10, 80, 297-100, 80);
    $content = '';
    $content .= fetch_data();
    $obj_pdf->SetXY(5, 90);
    $obj_pdf->writeHTML($content);
    $obj_pdf->Output('doc.pdf', 'I');
}
?>

Я попытался добавить "ob_start ()" в начале и "ob_end_flu sh ()" в конце. Я знаю, что это не первая проблема этой проблемы, но я попытался найти информацию на этом форуме, и теперь я понятия не имею, что делать дальше. Я надеюсь, что кто-нибудь может помочь мне решить эту проблему.

1 Ответ

0 голосов
/ 29 января 2020

Решил мою проблему. Я не буду удалять мои топи c. Надеюсь, это поможет кому-то. Решил проблему, отправив этот код php в другой пустой файл php и вызвал этот файл нажатием кнопки другого файла. Теперь работает без проблем.

...