Создание эскиза изображения для PDF в Smarty

У меня есть этот код в шаблоне Smarty, который генерирует ссылки на файлы (в формате PDF):

   {foreach from=$attachments_data item="file"}
<p class="attachment__item">
{$file.description} ({$file.filename}, {$file.filesize|formatfilesize nofilter}) [<a class="attachment__a cm-no-ajax" href="{"attachments.getfile?attachment_id=`$file.attachment_id`"|fn_url}">{__("download")}</a>]
</p>
{/foreach}

В другом вопросе я нашел способ использования PHP для создания изображения предварительного просмотра из PDF.

<?php
$im = new imagick('file.pdf[0]');
$im->setImageFormat('jpg');
header('Content-Type: image/jpeg');
echo $im;
?>

Есть ли способ, которым я могу преобразовать этот PHP в Smarty для работы с моим файлом шаблона CS-Cart? или есть другой способ сделать это?

0

Решение

Я бы предпочел кешировать их во временную папку для статического чтения, однако вы можете сделать это по требованию с той частью PHP, которую вы предоставили довольно легко

ПОЖАЛУЙСТА, РЕАЛИЗУЙТЕ ЛУЧШУЮ БЕЗОПАСНОСТЬ СИСТЕМЫ ФАЙЛОВ

pdf_to_image.php

<?php

// you must create better file system security than this
$filename = 'directory_with_pdfs' . DIRECTORY_SEPERATOR . basename( $_GET['filename'] );
if( file_exists( $filename ) === true )
{
$im = new imagick( $filename . '[0]' );
$im->setImageFormat('jpg');
header('Content-Type: image/jpeg');
header('Content-Disposition: attachment; filename="'.basename($filename).'"');
echo $im;
}
else
{
http_response_code(404);
}

Smarty Синтаксис

{foreach from=$attachments_data item="file"}
<img src="pdf_to_image.php?filename={$file.filename|urlencode}">
{/foreach}
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector