Cakephp Ошибка TCPDF: ОШИБКА TCPDF: некоторые данные уже выведены, не удается отправить файл PDF - PullRequest
0 голосов
/ 14 августа 2011

Я установил TCPDF, следуя инструкциям по ссылке ниже: http://bakery.cakephp.org/articles/kalileo/2010/06/08/creating-pdf-files-with-cakephp-and-tcpdf

Однако, когда я ставлю это через контроллер, я получаю ошибку ниже: TCPDF ОШИБКА: некоторые данные уже выведены, не удается отправить файл PDF

Я не могу понять, почему. Я пробовал искать в файлах просмотра, чтобы убедиться, что перед тегами PHP нет пробелов. У меня нет выбора ...

Есть что-нибудь, что я мог бы проверить?

Мне кажется, я знаю, откуда исходит ошибка. Ниже приведен код для вывода ошибки в tcpdf.php:

case 'D': {
                // download PDF as file
                if (ob_get_contents()) {
                    $this->Error('Some data has already been output, can\'t send PDF file');
                }

Ответы [ 3 ]

4 голосов
/ 15 декабря 2011

Вы просто добавляете ob_end_clean () над оператором switch. Это ... он очистит заголовок

3 голосов
/ 04 мая 2012

Попробуйте очистить выходной буфер, используя ob_clean()

или

Избегайте печати пробелов или любых переменных перед выводом содержимого PDF

0 голосов
/ 24 апреля 2014

Также удалите строку

require_once('tcpdf/config/lang/eng.php');

из вашего кода, если вы добавили его в.

P.S. Ob_clean () хорошо работает для меня, если я помещу его во 2-ю последнюю строку публичной функции Output, как упомянуто rajapandian и Kamil Ilyas:

public function Output($name='doc.pdf', $dest='I') {
    //LOTS OF CODE HERE....}
    }
           ob_end_clean(); //add this line here 
    return '';
}
...