安装并配置ImageMagick以与Experience Manager Assets一起使用

ImageMagick是用于创建、编辑、合成或转换位图图像的软件插件。 它可以读写各种格式(超过200种)的图像,包括PNG、JPEG、JPEG-2000、GIF、TIFF、DPX、EXR、WebP、Postscript、PDF和SVG。 使用ImageMagick调整图像大小、翻转、镜像、旋转、扭曲、剪切和变换图像。 您还可以使用ImageMagick调整图像颜色、应用各种特殊效果或绘制文本、直线、多边形、椭圆和曲线。

使用命令行中的Adobe Experience Manager媒体处理程序通过ImageMagick处理图像。 要使用ImageMagick处理各种文件格式,请参阅资产文件格式最佳实践。 要了解所有支持的文件格式,请参阅资产支持的格式

要使用ImageMagick处理大型文件,请考虑内存要求高于常规要求、IM策略可能需要的更改以及对性能的总体影响。 内存要求取决于各种因素,如分辨率、位深度、颜色用户档案和文件格式。 如果要使用ImageMagick处理超大文件,请正确对Experience Manager服务器进行基准测试。 最后提供了一些有用的资源。

注意

如果您在Adobe Managed Services (AMS)上使用Experience Manager,如果您计划处理许多高分辨率PSD或PSB文件,请与Adobe客户服务部门联系。 Experience Manager 可能无法处理超过30000 x 23000像素的高分辨率PSB文件。

安装ImageMagick

各种操作系统都提供多个版本的ImageMagic安装文件。 为操作系统使用适当的版本。

  1. 下载适用于您的操作系统的适当ImageMagick安装文件

  2. 要在承载Experience Manager服务器的磁盘上安装ImageMagick,请启动安装文件。

  3. 将路径环境变量设置为ImageMagic安装目录。

  4. 要检查安装是否成功,请执行identify -version命令。

设置命令行进程步骤

您可以为特定用例设置命令行处理步骤。 每次在Experience Manager服务器上向/content/dam添加JPEG图像文件时,请执行这些步骤以生成翻转的图像和缩略图(140x100、48x48、319x319和1280x1280):

  1. 在Experience Manager服务器上,转至“工作流”控制台(https://[aem_server]:[port]/workflow)并打开​DAM更新资产​工作流模型。

  2. 从​DAM更新资产​工作流模型中,打开​EPS缩略图(由ImageMagick提供)​步骤。

  3. 在​参数选项卡​中,将image/jpeg添加到​Mime类型​列表。

    mime_types_jpeg

  4. 在​Commands​框中,输入以下命令:

    convert ./${filename} -flip ./${basename}.flipped.jpg

  5. 选择​删除生成的演绎版​和​生成Web演绎版​标志。

    select_flags

  6. 在​启用Web的图像​选项卡中,指定尺寸为1280x1280像素的再现的详细信息。 此外,在​Mimetype​框中指定image/jpeg

    web_enabled_image

  7. 单击​确定​以保存更改。

    注意

    convert命令可能不在某些Windows版本(例如Windows SE)中运行,因为它与作为Windows安装一部分的本机convert实用程序相冲突。 在这种情况下,请提及ImageMagick实用程序的完整路径。 例如,指定

    "C:\Program Files\ImageMagick-6.8.9-Q16\convert.exe" -define jpeg:size=319x319 ./${filename} -thumbnail 319x319 cq5dam.thumbnail.319.319.png

  8. 打开​处理缩略图​步骤,并在​跳过MIME类型​下添加MIME类型image/jpeg

    skip_mime_types

  9. 在​启用Web的图像​选项卡中,在​跳过列表​下添加MIME类型image/jpeg。 单击​确定​以保存更改。

    web_enabled

  10. 保存工作流。

  11. 要验证处理是否正确,请将JPG图像上传到Assets。 处理完成后,检查是否生成翻转的图像和再现。

缓解安全漏洞

存在多个与使用ImageMagick处理图像相关的安全漏洞。 例如,处理用户提交的图像涉及远程代码执行(RCE)的风险。

此外,各种图像处理插件都依赖于ImageMagick库,包括但不限于PHP的图像、Ruby的图像和平装剪辑以及nodejs的图像。

如果您使用ImageMagick或受影响的库,Adobe建议您通过执行以下至少一个任务(但最好同时执行两个)来减轻已知的漏洞:

  1. 在将所有图像文件发送到ImageMagick进行处理之前,请先验证所有图像文件是否以您支持的图像文件类型对应的预期"magic bytes"开头。
  2. 使用策略文件禁用易受攻击的ImageMagick编码器。 在/etc/ImageMagick上可找到ImageMagick的全局策略。

在此页面上

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free