Создание превью Pdf - файлов

Тема в разделе "PHP программирование", создана пользователем evgen, 30 ноя 2010.

Статус темы:
Закрыта.
  1. evgen

    evgen Гость

    Здравствуйте!

    Создаю превью для pdf - файлов. Нашел в интернете скрипт для конвертации:

    Код (PHP):
    exec('convert "gazeta.pdf[0]" -colorspace RGB -geometry 200 "preview.png"');
    Он работал 3 месяца, потом перестал.
    Задал вопрос в службу технической поддержки хостинга о том установлены ли у них скрипты GhostScript и ImageMagick, на что они мне ответили: "GhostScript и ImageMagick установлены на нашей площадке как модули Perl."

    Подскажите как все таки можно воспользоваться этими модулями для создания превьюшек для pdf-файлов?
     
  2. evgen

    evgen Гость

    Какой-то странный форум, все молчат, или вопрос до того умный?
     
  3. 1ive

    1ive Well-Known Member
    Web Team

    Регистрация:
    12 сен 2010
    Сообщения:
    694
    Симпатии:
    0
    установлены на нашей площадке как модули Perl

    два варианта:
    меняй хостера
    переписывай скрипт на perl
     
  4. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    Для имаджика
    Код (PHP):
     
    <?php
    $obPdf = new Imagick( ‘act.pdf[0]); #Открываем наш PDF и указываем обработчику на первую страницу
    $obPdf->setImageColorspace(255); #устанавливаем цветовую палитру
    $obPdf->setCompression(Imagick::COMPRESSION_JPEG); #Устанавливаем компрессор
    $obPdf->setCompressionQuality(60); #И уровень сжатия
    $obPdf->setImageFormat(‘jpeg’);
    #При необходимости сделать превью ресайзим изображение
    $obPdf->resizeImage(250, 250, imagick::FILTER_LANCZOS, 1);
    #Ну и конечно же пишем в jpg-файл.
    $obPdf->writeImage(‘act_preview.jpg’);
    $obPdf->clear();
    $obPdf->destroy();
    ?>
    ^это просто обертка для того же конверта. Лучше юзайте так.
    Если не работает, то узнайте у хостера, у становлен(или возможо ли) установить расширение XPDF. А там..
    Код (PHP):
      1.
    <?php
    $realFileName =/uploads/act.pdf’;
    $fileName =/path/to/preview/act’;
    exec(‘pdftoppm ‘.$realFileName.-png ‘.$fileName);#вызываем консольную утилиту
    $fileName .=-1.png’;#Добавляем постфикс к имени-пути файла
    LL(File)->createFileFromReal(‘file1′, $fileName);
    unlink($fileName);?>
     
  5. evgen

    evgen Гость

    Да, они говорят, что ImageMagick у них установлен (Версия: ImageMagick-6.6.4.10), даже дали файл с тестом:
    Код (PHP):
    <?php
    $command = "/usr/local/bin/convert ./test.jpg -resize 30% 2.jpg";
    exec($command);
    ?>
    Но когда я пытаюсь что сделать таким образом как вы написали:
    мне php пишет в ответ:
    Код (PHP):
    Class 'imagick' not found in /htdocs/www/111/imagick.php on line 2
    как раз на том месте где создается новый объект класса.

    Также вопрос. каким образом можно переписать скрипт на perl. Опыта с perl никакого.

    Заранее благодарю!
     
  6. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    Такое расширение для пхп не установлено.
    сделайте phpinfo() и посмотрите, есть ли там.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей