Потоковый вывод mPDF для скачивания - PullRequest
0 голосов
/ 13 октября 2018

Это скорее концептуальный вопрос, но мне интересно, возможно ли передавать поток mPDF напрямую пользователю при загрузке (например, без сохранения во временной папке на сервере или загрузки в браузер пользователя).

Я успешно использую аналогичный метод для загрузки zip-файла фотографий S3 с использованием ZipStream и AWS PHP S3 Stream Wrapper , который работает очень хорошо, поэтому яхотел бы использовать аналогичный метод для генерации моего PDF.

Я использую библиотеку mPDF для генерации отчетов с изображениями S3 на Heroku. Документация mPDF показывает четыре варианта вывода, включая inline и download;inline загружает его прямо в браузер пользователя, а download вызывает запрос на загрузку (нужное поведение).

Я включил S3 Stream Wrapper и внедрил изображения в PDF в формате mPDF Image ()документация примерно так:

$mpdf->imageVars['myvariable'] = '';

while (!feof($streamRead)) {
    // Read 1,024 bytes from the stream
    $mpdf->imageVars['myvariable'] .= fread($streamRead, 1024);
}
fclose($streamRead);

$imageHTML = '<img src="var:myvariable" class="report-img" />';
$mpdf->WriteHTML($imageHTML);

Я также добавил header('X-Accel-Buffering: no');, который был необходим для работы ZipStream в среде Heroku, но сценарий всегда отключается, если их большепару изображений.

Можно ли сразу подсказать загрузку и просто передать поток данных непосредственно пользователю?Я надеюсь, что этот метод может быть использован не только для zip-загрузок, но еще не повезло с этим конкретным приложением.

...