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

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

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

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

注意

如果您在Adobe Managed Services(AMS)上使用AEM,则如果您计划处理大量大型PSD或PSB文件,请联系Adobe客户服务中心。 Experience Manager可能无法处理超30000 x 23000像素的高分辨率PSB文件。

安装ImageMagick

ImageMagic安装文件的多个版本可用于各种操作系统。 为您的操作系统使用适当的版本。

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

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

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

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

设置命令行进程步骤

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

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

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

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

    mime_types_jpeg

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

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

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

    select_flags

  6. 在​“启用Web的图像”​选项卡中,指定尺寸为1280x1280像素的再现的详细信息。 此外,在​Mimetype​框中指定i mage/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. 要检查ImageMagic是否能够正确处理图像,请将JPG图像上传到AEM Assets。 验证是否已翻转的图像及其演绎版已生成。

缓解安全漏洞

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

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

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

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

On this page

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now