2016-06-09 4 views
1

Я создаю несколько PDF-файлов в цикле, используя mPDF. Ниже приведены строки моего кода:Невозможно создать несколько PDF-файлов, используя mPDF, когда я не хочу загружать файлы на сервер

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 не помогает

ответ

2

TL; DR Нет, в одном запросе, не существует.

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

Вам необходимо выполнить несколько HTTP-запросов для каждого файла.

В качестве альтернативы вы можете сохранить PDF-файлы в памяти, позже упаковать их, например, в ZIP-файл и отправить ZIP-файл.