Работаю на Laravel и генерирую таблицу (Excel) через PHP. Генерация текста работает отлично, но вот почему-то изображение не отображается в таблице. При этом размер файла изменяется (добавляется размер файла изображения).
Код вставки изображения:
$imagePath = storage_path('app/' . $this->organization->inn . '/deverennost_stamp.png'); // Это изображение точно есть
if (file_exists($imagePath)) {
for ($i = $this->row; $i < ($this->row + 10); $i++) {
$sheet->setCellValue('A' . $i, ' '); // Очищаем лишние ячейки
}
$sheet->mergeCells('A' . $this->row . ':AA' . $this->row); // Объединяем ячейку куда будет вставляться изображение
$img = new Drawing();
$img->setPath($imagePath);
$img->setCoordinates('A' . ($this->row - 9)); // Вот сюда мы вставляем наше изображение
$img->setOffsetX(0);
$img->setOffsetY(0);
$img->setWorksheet($sheet);
}
Сам Excel файл файл сохраняется вот так:
protected function generatePdf($Excel = null) {
// ...
// Сначала сохраняем таблицу в файл Excel'я
$Excel = IOFactory::createWriter($Excel, 'Xlsx');
$Excel->save(storage_path('app') . "/temp/$this->fileName.xlsx");
// ...
}
А если я сразу сохраняю и отдаю в PDF формате, то изображение отображается. Но мне так не нужно.
protected function outputPdf($Excel) {
$this->savePdf($Excel);
if ($this->returnFile) {
return $this->fileName;
}
$file = Storage::disk('local')->get("temp/$this->fileName.pdf");
$response = Response::make($file, 200);
$response->header("Content-Type", "application/pdf");
return $response;
}
Уже какой день не могу понять причину не сохранения изображения. Пожалуйста помогите.