使用GraphicsMagick和Node.js将多个图像转换为多页pdf文件

时间:2016-03-02 22:30:04

标签: javascript node.js pdf graphicsmagick

我正在使用此功能将2页从多页TIFF文件转换为多页PDF文件。

var writeStream = fs.createWriteStream('./docs/multipage1.pdf');

gm().command('convert')
    .in('./docs/' + data.nomefile + '[1]')
    .in('./docs/' + data.nomefile + '[13]')
    .density(150, 150).compress('jpeg')
    .stream('pdf', function(err, stdout, stderr) {

    if (!err) {

        stdout.pipe(writeStream)

    } else {

        console.log(err)

    }
})

我想更改它以使其适用于动态页面选择:

var pages = req.query.pages;
pages = JSON.parse(pages)  // array of page number [0,1,5,18]
for (page in pages) {
 data.nomefile+'['+pages[page]+']'
 }
...............

1 个答案:

答案 0 :(得分:2)

在循环中添加输入参数没有问题:

var comm = gm().command('convert')

for (page in pages) {
  comm.in('./docs'+ data.nomefile+'['+pages[page]+']')
}

comm.density(150, 150).compress('jpeg')
    .stream('pdf', function(err, stdout, stderr) {

    if (!err) {

        stdout.pipe(writeStream)

    } else {

        console.log(err)

    }
})