当我不想在服务器上下载文件时,无法使用 mPDF 生成多个 PDF

Posted

技术标签:

【中文标题】当我不想在服务器上下载文件时,无法使用 mPDF 生成多个 PDF【英文标题】:Unable to generate multiple PDFs using mPDF when I do not want to download files on server 【发布时间】:2016-06-09 07:31:42 【问题描述】:

我正在使用mPDF 循环生成多个 PDF。以下是我的代码行:

for($i=0;$i<=3;$i++)

    $mpdf = new mPDF();
    $stylesheet = file_get_contents('style.css');

    $mpdf->Writehtml($stylesheet,1);
    $mpdf->WriteHTML('My html');
    $mpdf->SetDisplayMode('fullpage');

    $pdfname="Invoice_No.$i".".pdf";
    $mpdf->Output($pdfname, "I");

将参数I更改为F时,服务器上会生成多个PDF。但是,当使用I 作为参数时,只会生成第一个 PDF。有什么方法可以生成多个 PDF,而不必将它们保存在服务器中?

注意:即使使用参数D 也无济于事

【问题讨论】:

【参考方案1】:

TL;DR 不,在一个请求中,没有。

ID 输出模式生成文件,将输出从服务器发送到浏览器(分别为内联和强制下载)并结束执行 - 这样就不会再发送可能损坏已发送 PDF 文件的数据.

您必须为每个文件执行多个 HTTP 请求。

或者,您可以将 PDF 保存在内存中,然后将它们打包成 ZIP 文件并发送 ZIP 文件。

【讨论】:

以上是关于当我不想在服务器上下载文件时,无法使用 mPDF 生成多个 PDF的主要内容,如果未能解决你的问题,请参考以下文章

MPDF pdf 未在任何浏览器中打开,Codeigniter 中未显示错误

无法使用 LibGDX Net 在 Android 上下载 100mb 文件

使用 Yii 无法写入 mPDF 临时文件

mPDF 错误:一些数据已经输出到浏览器

使用 mpdf 库在 Google Cloud Storage 上上传 PDF 文件

在微服务之间传输文件