Создание миниатюр с помощью PHP для широкого спектра форматов файлов - PullRequest
1 голос
/ 16 июня 2009

У меня был запрос клиента на средство загрузки для его клиентов, но после загрузки это эскиз изображения, который будет создан.

Все нормальные изображения в порядке, но он говорит о .psd, .pdf, .eps, .ppt

Имея хороший обзор, я думаю, что imagemagick & ghostscript удовлетворит большинство из них, но я не могу найти решение PPT или EPS.

Я надеюсь, что imagemagick сможет делать EPS так же, как и PSD.

Любые предложения в формате EPS или PPT.

Спасибо, если можете посоветовать.

Ответы [ 4 ]

3 голосов
/ 02 ноября 2013

Я опаздываю на вечеринку, которую я знаю, однако ...

Это то, что я использую для миниатюр .PDF, .EPS и .AI. (При условии, что установлены все необходимые дистрибутивы ImageMagick)

$file = 'filename.pdf.eps.ai';

$cache = $_SERVER['DOCUMENT_ROOT'].'/cache/';//ensure dir is writeable

$ext = "jpg";//just the extension

$dest = $cache.$file.'.'.$ext;

if (file_exists($dest)){
    $img = new imagick();
    $img->readImage($dest);
    header( "Content-Type: image/jpg" );
    echo $img;
    exit;

 } else {

    $img = new imagick($_SERVER['DOCUMENT_ROOT'].'/'.$file.'[0]');
    $img->setImageFormat($ext);

    $width = $img->getImageheight();
    //$img->cropImage($width, $width, 0, 0);
    $img->scaleImage(105, 149, true);

    $img->writeImage($dest);

    header( "Content-Type: image/jpg" );
    echo $img;
    exit;
}

Не знаю, почему это работает, но это работает - один код, чтобы управлять ими все в порядке?

1 голос
/ 16 июня 2009

PPT - презентация PowerPoint. Поэтому для создания изображения, которое представляет собой PPT, потребуется некоторая библиотека, которая может это осуществить.

Вот несколько ресурсов, которые могут вам помочь.

EPS - векторный формат, поэтому, если у вас нет изображения в качестве векторных объектов, вы не сможете сделать это правильно.

0 голосов
/ 16 июня 2009

Вы можете найти несколько бесплатных наборов иконок и использовать значок по умолчанию для всех файлов .ppt, а другой - для всех .eps. Затем вы можете дополнительно расширить это для всех форматов файлов, которые не могут быть преобразованы в изображение, таких как аудиофайлы. Не идеальное решение, но что-то, с чем пользователь может чувствовать себя более комфортно, чем просто текст.

0 голосов
/ 16 июня 2009

Только некоторые мысли - ни одна из этих вещей не была проверена мной.

EPS

Вы должны иметь возможность преобразовать свой EPS в PDF с ghostscript . Используя imagemagick & ghostscript, вы можете конвертировать PDF в некоторый растровый формат (GIF, PNG или JPG).

1012 * РРТ *:

Это кажется как-то сложнее. Если вы находитесь на компьютере с Windows, вы можете использовать API Powerpoint из небольшого рукописного конвертера. Другая возможность, возможно, заключалась бы в использовании Apache POI-HSLF , который является Java API для формата файла Powerpoint. Это потребует Java-программы для процесса преобразования. В крайнем случае можно было бы изучить двоичный формат файла Powerpoint и посмотреть, есть ли, например, встроенный эскиз (возможно, используемый для значка файла в проводнике Windows), который можно извлечь.

...