gpt4 book ai didi

node.js - 如何使用 NodeJS imagemagick 库将 PDF 的第一页转换为 JPG?

转载 作者:行者123 更新时间:2023-12-02 02:51:49 25 4
gpt4 key购买 nike

我正在尝试将 pdf 文件转换为预览图标 jpg使用 NodeJS 的 imagemagick 库。我在尝试着仅生成第一页的预览(对于多页 pdf)。

在普通的命令行 imagemagick 程序中这可以是通过说 "convert file.pdf[0] file.jpg"
轻松完成[0] 告诉它只转换第一页。

但是我不确定如何使用这个库来做到这一点。我尝试将 [0] 连接到文件名,但它只是将其作为真实文件名的一部分读取。任何人都知道使用这个库解决这个问题的方法?

我环顾四周发现了这个,但是他们没有使用这个库。 Convert PDF to PNG Node.JS

我正在使用的特定库位于此处:https://www.npmjs.com/package/imagemagick

我正在使用的代码如下:

            let path = '/tmp/';
let pageNumber = '[0]';
let filePath = path + fileId + fileName + pageNumber;
let imgFilePath = path + fileId + '.jpg';
let writeStream = fs.createWriteStream(filePath);
writeStream.on('error',err => {
reject(err);
});
stream.pipe(writeStream);


im.convert([
filePath,
'-background','white',
'-alpha','remove',
'-resize','192x192',
'-quality','100',
imgFilePath
],

最佳答案

问题是您在进行转换之前将 [0] 部分连接到文件名上。您应该像这样在转换函数的范围内连接 [0]:

            let path = '/tmp/';
let filePath = path + fileId + fileName;
let imgFilePath = path + fileId + '.jpg';
let writeStream = fs.createWriteStream(filePath);
writeStream.on('error',err => {
reject(err);
});
stream.pipe(writeStream);


im.convert([
filePath + '[0]',
'-background','white',
'-alpha','remove',
'-resize','192x192',
'-quality','100',
imgFilePath
],

此解决方案已经过测试。

关于node.js - 如何使用 NodeJS imagemagick 库将 PDF 的第一页转换为 JPG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51928081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com