当我不想在服务器上下载文件时,无法使用 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 不,在一个请求中,没有。
I
和 D
输出模式生成文件,将输出从服务器发送到浏览器(分别为内联和强制下载)并结束执行 - 这样就不会再发送可能损坏已发送 PDF 文件的数据.
您必须为每个文件执行多个 HTTP 请求。
或者,您可以将 PDF 保存在内存中,然后将它们打包成 ZIP 文件并发送 ZIP 文件。
【讨论】:
以上是关于当我不想在服务器上下载文件时,无法使用 mPDF 生成多个 PDF的主要内容,如果未能解决你的问题,请参考以下文章
MPDF pdf 未在任何浏览器中打开,Codeigniter 中未显示错误
无法使用 LibGDX Net 在 Android 上下载 100mb 文件