使用 GraphicsMagick 和 Node.js 将多张图片转换为多页 pdf 文件
Convert several images to a multi-page pdf file with GraphicsMagick and Node.js
我正在使用此功能将 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]+']'
}
...............
在循环中加入入参没问题:
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)
}
})
我正在使用此功能将 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]+']'
}
...............
在循环中加入入参没问题:
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)
}
})