我正在使用节点gm
模块从PDF的第一页创建缩略图。
var fs = require('fs');
var gm = require('gm');
var writeStream = fs.createWriteStream("cover.jpg");
// Create JPG from page 0 of the PDF
gm("file.pdf[0]").setFormat("jpg").write(writeStream, function(error){
if (!error) {
console.log("Finished saving JPG");
}
});
脚本存在两个问题。
cover.jpg
,但该文件为空(大小为0),并且无法由任何查看者打开。[object Object]
的文件,它是PDF首页的图像(这是我想要的,但名称错误。)除了做一些额外的文件系统操作以在生成它之后重命名[object Object]
文件之外,我可以在此脚本中使用gm
和fs
的方式进行更改将图像直接写入cover.jpg
文件?
This question与我的要求类似,但没有可接受的工作答案,我需要安装另一个库才能使用它(不合需要)。
答案 0 :(得分:1)
write
接收文件路径作为第一个参数,而不是写入流,因此该方法将流对象转换为其字符串表示,这就是它保存名为[object Object]
的文件的原因。
您可以使用.write("cover.jpg")
,或者如果您想使用写入流,则可以使用.stream().pipe(writeStream)
。
查看gm
的{{3}}。