【问题标题】:FPDF error: The document is closed inFPDF 错误:文档已关闭
【发布时间】:2018-07-06 15:38:13
【问题描述】:

我正在使用下面的代码生成 pdf 文件,但它在日志文件中给了我错误

FPDF 错误:文档已关闭

$pdf = new FPDF('P', 'pt', 'Letter');
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$filename=$upload_dir["basedir"].'/borrowers/borrower'.$page->id.'.pdf';
$pdf->Cell(40,10,'fdfd');
$pdf->Output('F',$filename);

但是文件正在目标路径中生成,但脚本执行进一步停止。

【问题讨论】:

  • 你试过 die(); $pdf->Output('F',$filename); 之后
  • 看看你是否调用了2次输出函数!我浪费了更多时间
  • 这条评论为我解决了这个问题,所以你没有浪费时间:)

标签: php wordpress pdf fpdf


【解决方案1】:

对此我唯一的解决方案是使用除 FPDF 之外的其他东西来生成 PDF。我正在运行 Laravel,在队列中生成 PDF。 FPDF 间歇/随机工作,但并不一致。我不断收到“文档已关闭”错误。我尝试在队列外运行任务,尝试增加队列内存以及其他一些事情。我在所选答案中找不到“$this->state”设置。

我最终切换到这个包: https://github.com/barryvdh/laravel-dompdf

【讨论】:

    【解决方案2】:

    $this->state 值需要在 fpdf.php 中增加,因为默认情况下它是 3,如果文档包含超过 2 页,这似乎很低。

    【讨论】:

    • 您的示例代码只添加了一个页面。这个答案是错误的。我猜你没有显示整个代码。只需确保在调用 Output() 后不要在对象上调用其他方法。
    • @JanSlabon 当我增加$this->state 值时,它得到了修复。那么是什么问题导致它停止工作
    • 我不知道原因,但您的脚本很简单,没有任何特别之处。无需更改任何内部属性。所以根本原因在其他地方。您是否检查了代码以进一步与 $pdf 变量交互?您使用的是最新版本的 FPDF 吗?
    猜你喜欢
    • 2015-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多