Отображение изображения в файле PDF, сгенерированном snappy

Я хочу добавить изображение в свой PDF-файл, созданный snappy, но ничего не появляется

В моей ветке:

Я сохраняю имя файла в своей базе данных, Survey.event.image содержит имя изображения

<div style="margin-top: 26px; width: 200px">

    <img   src="{{ asset('uploads/imagesFile/'~survey.event.image) }}" id="imgEvent">

</div>

Я включил изображения =>true

return new Response(
    $this->get('knp_snappy.pdf')->getOutputFromHtml($html,array(
        'default-header'=>null,
        'encoding' => 'utf-8',
        'images' => true,
        'enable-javascript' => true,
        'margin-right'  => 7,
        'margin-left'  =>7,
        'javascript-delay' => 5000
    )),
    200,
    array(
        'Content-Type'          => 'application/pdf',
        'Content-Disposition'   => 'attachment; filename="file1.pdf"'
    )
);

person Julie    schedule 25.08.2017    source источник


Ответы (4)


Попробуйте использовать absolute_url, чтобы получить абсолютный URL активов

<div style="margin-top: 26px; width: 200px">

<img   src="{{ absolute_url(asset('uploads/imagesFile/'~survey.event.image)) }}" id="imgEvent">

person ryl    schedule 26.09.2017
comment
неопределенная функция - person Ray Coder; 19.10.2020

Используйте absolute=true для пути к изображению.

<img src="{{ asset('uploads/imagesFile/'~survey.event.image, , absolute=true) }}" id="imgEvent">
person Keutelvocht    schedule 19.12.2017

В случае, если кто-то все еще для решения. В моем Laravel 8 я смог загрузить изображение, но при загрузке изображения требуется некоторое время для загрузки, а затем не удалось загрузить. Я использовал snappy для создания и загрузки PDF.

Вот как я это решаю.

Из этого

<img src="{{asset('assets/images/czm/bismillah.png')}}" width="10%" alt="">

К этому. Я просто удаляю актив laravel по умолчанию и конвертирую изображение в base64.

<img src="{{'data:image/png;base64,'.base64_encode(file_get_contents(public_path('assets/images/czm/bismillah.png')))}}" width="180"/>

Вы можете найти больше здесь

person Fahim Ahmed    schedule 14.07.2021

Возможно, путь к изображению неверен, попробуйте следующее:

<div style="width: 200px; height: auto;">
  <img src="{{ pathToWeb }}/uploads/imagesFile/image.jpg" alt="img">
</div>

И добавьте это в свой config.yml:

# Twig Configuration
twig:
  globals:
    pathToWeb: "%kernel.root_dir%/../web"
person user7867717    schedule 25.08.2017
comment
OP использует функцию актива для определения местоположения - person DarkBee; 25.08.2017
comment
Да, но почему OP должен переключаться с asset на абсолютный путь. Не имеет смысла - person DarkBee; 25.08.2017
comment
когда я использую asset, изображение не найдено при создании pdf. Использовать абсолютный путь - не лучшее решение, но в этом случае я не нахожу ничего лучше - person user7867717; 25.08.2017