javascript - 如何使用 node.js 和 gm 创建 pdf 的缩略图

标签 javascript node.js pdf meteor graphicsmagick

我正在使用 meteor(构建在 Node 上)和 CollectionCFS(它允许我使用 gm[GraphicsMagick] 进行缩略图)。

我执行以下操作让它自动创建上传图片的缩略图:

new FS.Store.FileSystem("thumbs", {
      transformWrite: function(fileObj, readStream, writeStream) {
        gm(readStream, fileObj.name()).resize('100', '100').stream().pipe(writeStream);
      },
      path: "/Volumes/Public/Thumbs",
    })

transformWrite 函数接收 readStream(原始图像),对其进行修改并将结果通过管道传输到 writeStream。我如何让它创建 PDF 的缩略图?

最佳答案

如果您只想将 pdf 的第一页作为缩略图。执行以下操作:

new FS.Store.FileSystem("thumbs", {
  transformWrite: function(fileObj, readStream, writeStream) {
    gm(readStream, fileObj.name() + '[0]').resize('100', '100').stream('png').pipe(writeStream);
  },
  beforeWrite: function (fileObj) {
    return {
      extension: 'png',
      type: 'image/png'
    };
  },
  path: "/Volumes/Public/Thumbs",
})

关于javascript - 如何使用 node.js 和 gm 创建 pdf 的缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25996259/

相关文章:

javascript - django ajax 集合更改

javascript - Node.js - 语法错误 : Unexpected token import

flutter - 如何在flutter中在PDF文件上生成QR码

java - 将页面分为两部分,以便我们可以用不同的源填充每个部分

javascript - Leaflet.js 不使用 PhoneGap 渲染本 map block

javascript - ES7 使用await 生成器从一系列promise 中获取结果

javascript - webrtc对等连接: can not create an answer

node.js - Promise.all 的限制是多少?

javascript - 输入 cmd grunt jshint 时出错。

ios - 在 Objective-C 中显示 pdf 的最佳方式是什么?