我目前正在尝试通过表单生成pdf,我希望将用户数据传递给生成的pdf。但是当我发现并阅读有关FPDF的内容时,除了FPDF类所做的事情外,它无法生成其他内容。所以这是我的问题:
如何在生成的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');
}
...
顺便说一句,我得知错误:
FPDF错误:某些数据已经输出,无法发送PDF文件
答案 0 :(得分:1)
FPDF告诉您它无法更改响应中的HTTP标头,然后将PDF作为文件发送。也就是说,在较大程序中的某个地方,某些内容已经通过echo,内联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>";
}