Я пытаюсь создать pdf с помощью Laravel snappy.
Проблема в том, что когда я пытаюсь запустить команду wkhtmltopdf в консоли, например:
wkhtmltopdf http://google.com google.pdf
, она работает нормально и генерирует pdf,
Но когда я пытаюсь сгенерировать pdf в моем контроллере, он выдает это исключение:
RuntimeException
Файл '/ home / alemil /Проекты / test / storage / app / year_reports / Pdf test.pdf ' не был создан (команда: / usr / local / bin / wkhtmltopdf --lowquality --orientation' landscape '- page-size'a3 '' /tmp/knp_snappy5bb49cd6bfcf14.16728595.html '' / home / alemil / Projects / test / storage / app / year_reports / Pdf test.pdf ').
Я пытался скопировать команду вышеи выполнить прямо в консоли.Вот что я получаю:
Загрузка страниц (1/6) Ошибка: не удалось загрузить http://tmp/knp_snappy5bb49cd6bfcf14.16728595.html, с кодом состояния сети 3 и кодом состояния http 0 - хост tmp не найден Ошибка:Не удалось загрузить страницу http: ///tmp/knp_snappy5bb49cd6bfcf14.16728595.html (иногда это будет работать просто для игнорирования этой ошибки с игнорированием --load-error-processing) Выход с кодом 1 из-за сетевой ошибки:HostNotFoundError
Как я вижу, он пытается извлечь локальный файл, поскольку он удален.Я не смог найти эту проблему, поэтому я спрашиваю, может ли кто-нибудь решить эту проблему или имеет какие-либо идеи.
Моя среда - Ubuntu 18.04 PHP и PHP 7.2.10.
Это мой код:
// app.php aliases
'PDF' => Barryvdh\Snappy\Facades\SnappyPdf::class,
// controller code
PDF::loadView('admin.reports.annual.pdf_template', $data)
->setPaper('a3', 'landscape')
->save(
storage_path('app/annual_reports/') . $report->pdf,
true // when there is file with same name it throws file already exists so I had to set owerwrite to true
);
Кроме того, еще один момент, на который я хотел обратить внимание, я использовал barryvdh / laravel-dompdf, и все работало нормально, за исключением того, что он не может отображать графики, поэтому я сейчас пытаюсь настроить snappy.