Как отобразить изображение в сгенерированном формате PDF с помощью dompdf с помощью symfony 4.2?

#php #symfony #dompdf #symfony-4.2

#php #symfony #dompdf #symfony-4.2

Вопрос:

введите описание изображения здесьЯ создаю PDF-файл с помощью DOMPDF. Мой PDF-файл — это карточка приема, которая содержит информацию о конкретном студенте.

В этой карточке признания у меня есть два изображения для показа. Итак, в моем файле twig,

Изображение профиля:

 <img src="{{ response['display_image'] }}" alt="Profile Pic" width="100px" height="100px" class="img-thumbnail" />
 

Изображение компании:

 <img src="images/webkul.png" alt="Webkul"/>
 

Оба этих изображения не сгенерированы в моем PDF-файле. Я выдаю «изображение не найдено или тип неизвестен«.

Я извлекаю изображение профиля из базы данных, в то время как изображение компании хранится в файле проекта, который,

public/assets/images/xyz.png

Контроллер:

 $pdfOptions = new Options();

        $pdfOptions->set('defaultFont', 'Arial');
        $pdfOptions->setIsRemoteEnabled(true);
        $dompdf = new Dompdf($pdfOptions);
        $html = $this->renderView('download_pdf/index.html.twig', [
            'title' => "Admit-Card",
            'response' => $response,
            'data' => $data,
        ]);

        $dompdf->loadHtml($html);
        $dompdf->setPaper('A4', 'portrait');
        $dompdf->render();
 

Я приложил снимок экрана.

Как я должен указать путь в моем файле twig, чтобы изображение можно было отобразить в файле PDF?

Комментарии:

1. Ошибка довольно очевидна. Я думаю, что путь неверен.

2. @AndreiLupuleasa: Я знаю, но все же я ищу решение.

3. Каков полный путь к изображению на диске?

4. @AndreiLupuleasa: я упоминал об этом в своем вопросе, это «public / assets / images /xyz.png»

5. Это не полный путь, не так ли student/public/assets/images/xyz.png ?

Ответ №1:

Укажите весь путь с диска:

https://github.com/dompdf/dompdf/issues/1523

ПРИМЕР:

 use DompdfDompdf;
use DompdfOptions;
require_once 'dompdf/autoload.inc.php';
$options = new Options();
$options->set('isRemoteEnabled', TRUE);
$options->set('tempDir', '/home2/directory/public_html/directory/pdf-export/tmp');
$dompdf = new Dompdf($options);
 

Ответ №2:

На самом деле проблема существует в заголовочной части HTML-файла. Я расширял head своего проекта, который содержал много CSS и JS. Я просто удалил head и вместо этого использовал простой и чистый head, и моя проблема была решена.

Примечание: не добавляйте верхний / нижний колонтитулы вашего проекта в Html-файл pdf, вместо этого используйте новый для того же.