2016-10-27 4 views
0

У меня есть некоторые проблемы, чтобы попробовать пример быстрой библиотеки. когда я пытаюсь показать, используя функцию getOutput, браузер возвращает ERR_INVALID_RESPONSE. Я попробовал решение, размещенное here, но оно не работает для меня.Laravel формат отображения в формате pdf (мгновенная библиотека), возвращающий ERR_INVALID_RESPONSE

вот мой код на моей функции:

// Display the resulting pdf in the browser 
    // by setting the Content-type header to pdf 
    $snappy = new Pdf('/usr/local/bin/wkhtmltopdf'); 
    header('Content-Type: application/pdf',true,200); 
    header('Content-Disposition: attachment; filename="file.pdf"'); 
    echo $snappy->getOutput('http://www.github.com'); 

Ваша помощь/предложения/советы будут очень apprciated. Заранее спасибо!

ответ

0

Попробуйте сохранить файл pdf в локальном хранилище и вернуть ответ.

Это будет выглядеть примерно так:

$snappy = new Pdf('/usr/local/bin/wkhtmltopdf'); 
$snappy->save('path/to/your/storage'); 
$response = Response::make(Storage::get('path/to/your/storage'), 200); 
$response->header("Content-Type", 'application/pdf'); 
$response->header("Content-Disposition", 'attachment; filename=file.pdf'); 
return $response; 

Поскольку вы используете Laravel я хотел бы предложить вам использовать обертку Laravel для мгновенного

Snappy PDF/Image Wrapper for Laravel 5 and Lumen 5.1

0

Моей догадка wkhtmltopdf «s бинарного пропал, отсутствует. Вы можете установить его, выполнив эту команду из папки, в которой у вас есть свой проект Laravel:

$ composer require h4cc/wkhtmltopdf-i386 0.12.x 

или 64-битные:

$ composer require h4cc/wkhtmltopdf-amd64 0.12.x 

Затем вам нужно изменить эту строку в Funciton :

$snappy = new Pdf('/usr/local/bin/wkhtmltopdf'); 

в

$snappy = new Pdf(base_path('vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64')); 

источник: Wkhtmltopdf binary installation as composer dependency

+0

спасибо @pnsh за ответ .. я имел исправление ошибок :) Но мне нужно еще помочь, когда я имел эту линию на мое приложение эхо $ snappy-> getOutput ('HTTP://myapp.com/generatepdf '); Я генерирую PDF-файл, но он показывает страницу входа вместо страницы, которую я хочу преобразовать в pdf. не могли бы вы дать мне несколько советов, как я могу это сделать? Заранее спасибо –

+0

@ShadrachBaldon Выходной файл pdf зависит от того, что вы делаете на странице «geneartepdf» (параметр метода getOutput). Я предполагаю, что этот маршрут находится под промежуточным ПО аутентификации, поэтому он перенаправляет вас на страницу входа. Поскольку мой ответ решил вашу оригинальную проблему, пожалуйста, рассмотрите вопрос о закрытии этого вопроса. – pnsh

Смежные вопросы