Генерация большей пропускной способности для cutycapt и imagemagic для создания миниатюр - PullRequest
0 голосов
/ 22 июня 2011

Я ищу решение для создания миниатюр изображений снимков экрана со списком веб-сайтов и сохранения на диск.

Я обнаружил, что следующие команды могут сделать это. И я получил рабочий скрипт оболочки в Ubuntu , который прекрасно генерирует изображения. (Пакеты CutyCapt + ImageMagick)

cutycapt --url=http://www.yahoo.com --out=yahoo.png
convert yahoo.png -thumbnail 150x180^ -gravity NorthWest -extent 150x180 yahoothumb.jpg

Но это последовательно и занимает много времени . Я думал о создании сценария PHP или Python, который я буду размещать в виде веб-страницы в Apache. Затем отдельная программа сгенерирует несколько запросов для увеличения пропускной способности генерации изображений.

Сначала я попробовал PHP .

<?php echo exec('cutycapt --url=http://www.google.com --out=/var/www/google.png --javascript=on');?>

And CutyCapt завершается с ошибкой со следующим: CutyCapt: Невозможно подключиться к X Server . Я использую PHP / Apache с тем же Identity / пользователем, с которым я запускаю свой обычный скрипт оболочки.

Кстати, я разработчик C #. Так что относительно менее знаком с PHP, Linux, Scripts. Я могу иметь дело с файлами конфигурации для PHP, хотя Apache:)

Я пытался использовать .NET для запуска IE в памяти, но это громоздко и не дает лучших результатов + требуется STA: так что пропускная способность будет очень низкой.

Ответы [ 2 ]

3 голосов
/ 09 августа 2011

Я использовал комбинацию Xvfb и CutyCapt, подробно описанную на этой странице , в производстве в течение нескольких лет без проблем. На самом деле, я нашел комбинацию настолько надежной, что написал библиотеку Ruby-оболочки ( capit ), чтобы упростить использование комбинации из некоторых новых приложений Ruby, над которыми я работаю.

Кроме того, хотя я не использовал его в работе, я смог воспроизвести похожие результаты с помощью функции рендеринга библиотеки PhantomJS .

EDIT:

Вы можете проверить эту статью , чтобы узнать, как запустить CutyCapt в качестве своего рода службы.

0 голосов
/ 22 июня 2011

Вместо того, чтобы полагаться на внешнюю программу для обработки изображений, попробуйте использовать встроенную в PHP GD библиотеку изображений .По моему опыту, он очень быстрый и очень обширный, предоставляя все возможности для анализа и манипулирования изображениями.

Здесь скрипт для thumbnailer, который я написал в PHP несколько лет назад и который помимомножество опций, объединяет некоторые хитрости для автоматической загрузки и добавления границ к изображениям, которые он создает.Извините, код является нецелевым, но методы, которые он использует, повторяются. Вот сценарий в действии .

Редактировать:

Я не знал, что сделал cutycapt.Теперь кажется, что этот вопрос связан с тем, что вы пытаетесь сделать;преобразование веб-страницы в PDF в качестве промежуточного формата может сделать вас хотя бы на шаг ближе к цели.

...