Если у вас есть время, чтобы повторить мне.
Я пытаюсь использовать JasperPHP в Laravel 5, но не могу. Я делаю образец отчета со статическим текстом:
Но когда я опубликую его и начну с Laravel с этого кода:
$output = public_path() . '/report/Test';
$ext = "pdf";
$jasper = JasperPHP::compile(
public_path() . '/reports/Test.jasper',
true
)->execute();
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.time().'Test.'.$ext);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($output.'.'.$ext));
flush();
readfile($output.'.'.$ext);
unlink($output.'.'.$ext); // deletes the temporary file
И Ларавел дает мне ошибку:
Исключение в строке 178 JasperPHP.php: ваш отчет содержит ошибку и не может быть обработан! Попробуйте вывести команду с помощью функции output();
и запустить его вручную в консоли.
Вы можете мне помочь? Что я делаю не так? Я хотел бы создать PDF-файл для этого отчета и отправить его клиенту.
Также еще один вопрос. Как отправить параметр на отчет?
Та же проблема, что и у меня, когда я пытаюсь с реальным отчетом с наборами данных
Когда я изменяю это с:
$jasper = new JasperPHP;
$jasper->process(
public_path() . '/reports/Faktura.jasper',
$output,
array("pdf"),
array("fID"=>$request->fID),
Config::get('database.connections.mysql')
)->output();
Где FID Param. в отчете фактура, а также получить ошибку:
Ваш отчет содержит ошибку и не может быть обработан! Попробуйте вывести команду с помощью функции output();
и запустить его вручную в консоли.
при попытке вывода я получаю, что в выводе:
TNX.
Проблема в том, что я не установил JasperStarter. После этого необходимо выполнить настройку MYSQL коннектора. Для получения дополнительной информации посмотрите на:
Невозможно загрузить драйвер: com.mysql.jdbc.Driver
Других решений пока нет …