如何使用gm转换选定的pdf页面

时间:2015-02-11 12:00:13

标签: node.js pdf image-processing imagemagick graphicsmagick

我正在使用" gm"转换不同的图像和pdf文件nodejs的模块。图像类型成功,但当我想将PDF转换为图像时出现问题。我只需要将一个选定的页面从pdf文件转换为jpg / png。如果我将整个pdf文件传递给" gm"它只保存到图像第一页,但我找不到保存另一页的方法。

gm(file).toBuffer(format.toUpperCase(), 
       function (err, buffer) {
    // so in buffer now we have converted image
 }

谢谢。

3 个答案:

答案 0 :(得分:0)

仅用于第一个pdf页面:

gm(file,'pdf.pdf [0]')。toBuffer(...)

仅用于第二个pdf页面:

gm(file,'pdf.pdf [1]')。toBuffer(...)

答案 1 :(得分:0)

gm(file).selectFrame(0).toBuffer()//获取首页

gm(file).selectFrame(1).toBuffer()//获取第二页

答案 2 :(得分:-1)

spindrift用于操作pdf(包括图像转换)。

您可以使用(不要使用所有命令)来定义pdf:

var pdf = spindrift('in.pdf')
   .pages(7, 24)
   .page(1)
   .even()
   .odd()
   .rotate(90)
   .compress()
   .uncompress()
   .crop(100, 100, 300, 200) // left, bottom, right, top 

稍后转换为图片:

// Use the 'index' property of an image element to extract an image: 
pdf.extractImageStream(0)

如果你必须使用gm,你可以做@Ben Fortune在评论中提出的建议并首先拆分pdf。