2013-11-13 4 views
1

В настоящее время я пытаюсь создать pdf-файл в форме, где я хочу, чтобы данные пользователя передавались в сгенерированный PDF-файл. Но поскольку я обнаружил и читал о FPDF, он не может генерировать другие вещи, кроме того, что делает класс FPDF. Итак, вот мой вопрос:FPDF17 - как передать данные в сгенерированный pdf

Как я могу реализовать/использовать разные данные в моем созданном pdf?

Я попробовал следующее (используя переменную сеанса в ячейке):

require 'fpdf17/fpdf.php'; 


class PDF extends FPDF 
{ 

function Header() { 

    $this->setFont("Arial", '', 32); 
    $this->Image('pics/invoiceLogo.png', 5,5,50); 
    $this->ln(25); 

    $this->setTextColor(0,0,0); 
    $this->setFont("Arial", '', 8); 
    $this->cell(100, 4, $_SESSION['firstname'] , 0, 0, 'L'); 
} 
... 

Btw Я собирающий ошибку:

FPDF error: Some data has already been output, can't send PDF file

+0

Это не похоже на проблему с FPDF, но скорее похоже на проблему с вашей страницей PHP, уже отправляющей данные или заголовки ответов клиенту. Можете ли вы быть уверены, что данные не были отправлены, пока фактический PDF не будет помещен в строку? – thst

ответ

1

FPDF говорит вам, что он не может изменить HTTP-заголовки в ответе, чтобы затем отправить PDF в виде файла. То есть, где-то в вашей более крупной программе, что-то уже начало выводиться через эхо, встроенный HTML или включенный файл.

Это не ошибка в FPDF. То, что вы разместили, выглядит отлично.

В коде, который пытается позвонить Output(), оберните его в блок try { ... } catch (Exception $e) { ... }. Затем вы можете сделать что-то вроде echo $e->getMessage(); или print_r($e->getTrace());, чтобы узнать, где запускается выход или что происходит.

try { 
    $my_pdf = new PDF(); 
    // ... work here ... 
    $my_pdf->Output(); 
} catch (Exception $e) { 
    echo $e->getMessage() . "<br>\n"; 
    echo "<pre>"; 
    print_r($e->getTrace()); 
    echo "</pre>"; 
} 
+0

помог мне в правильном направлении .. и я думаю, что моя проблема исправлена. Большое спасибо :) – Langkiller

Смежные вопросы