相关疑难解决方法(0)

如何在NodeJS上使用GraphicsMagick提取GIF的第一帧并将其保存为PNG?

以下是我要执行此操作的步骤:

  1. 用户向服务器提供动画gif的链接
  2. 服务器使用"request(url)"来检索文件
  3. 服务器生成gif第一帧的缩略图
  4. 服务器将缩略图上载到Amazon S3

问题存在于第3步中.我无法找到提取gif第一帧的方法.我更喜欢使用GraphicsMagick但是如果你知道其他方式有用,我将非常感激!

NodeJS正在使用中.

javascript node.js graphicsmagick

2
推荐指数
1
解决办法
1477
查看次数

从GraphicsMagick中的流中缩略图pdf的第一页

如果我有一个 pdf 文件并且在gm本地运行,我知道如何使用 GraphicsMagick 制作 pdf 第一页的缩略图。我只能这样做:

gm(pdfFileName + "[0]")
  .background("white")
  .flatten()
  .resize(200, 200)
  .write("output.jpg", (err, res) => {
    if (err) console.log(err);
  });
Run Code Online (Sandbox Code Playgroud)

如果我有一个名为的文件,doc.pdf那么传递doc.pdf[0]给它的gm效果很好。

但我的问题是我在 AWS Lambda 函数上生成缩略图,并且 Lambda 将来自源 S3 存储桶的输入数据作为输入数据。我的 lambda 的相关切片如下所示:

// Download the image from S3, transform, and upload to a different S3 bucket.
async.waterfall([
  function download(next) {
    s3.getObject({
      Bucket: sourceBucket,
      Key: sourceKey
    },
    next);
  },

  function transform(response, next) {
    gm(response.Body).size(function(err, size) {       // <--- gm USED HERE …
Run Code Online (Sandbox Code Playgroud)

pdf thumbnails amazon-web-services graphicsmagick

2
推荐指数
1
解决办法
1278
查看次数