После некоторых попыток и неудач я заставил ImageMagick (IM) работать на меня. Позвольте мне кратко описать, как работать с ImageMagick от Coldfusion:
- Установите ImageMagick и Ghostscript на коробке. Ghostscript используется для манипуляции векторной графикой.
Используйте тег CFEXECUTE для вызова IM с параметрами:
<cfexecute name="#FullIMPath#" timeout="60" arguments="""#ExpandPath(filename1)#"" ""#ExpandPath(filename2)#""" />
Комментарии:
а. Запишите полный путь к одному из исполняемых файлов ImageMagic (например, convert.exe) в атрибуте 'name'.
б. Напишите полные пути для исходного и целевого изображений. Обратите внимание на дополнительные кавычки - если полный путь содержит пробелы (C: \ Program Files), вы должны заключать каждое имя изображения в пару кавычек. Поскольку Coldfusion анализирует атрибут «arguments», вам необходимо просмотреть цитату с дополнительной цитатой, например: «C: \ Program Files \» ».
с. Используйте атрибут timeout, чтобы дать ImageMagic некоторое время для получения результатов, прежде чем Coldfusion продолжит выполнение шаблона.
Спасибо всем за ответы и интерес.
PS: Дополнительные подсказки:
- ImageMagick предлагает множество форматов для работы - от обычных файлов JPEG до файлов Photoshop * .psd. Однако для векторных форматов, таких как Encapsulated Postscript * .eps, необходимо установить Ghostscript;
- Вы можете работать с форматами Adobe PDF и Adobe Illustrator (* .ai) с небольшим взломом - переименуйте их в * .eps и позвольте ImageMagick обрабатывать их как векторные файлы Encapsulated Postscript. Это позволяет по крайней мере конвертировать векторные файлы в растровые изображения;
- процесс требует значительных ресурсов, рассмотрите возможность увеличения пределов памяти JVM для Coldfusion.