在 NodeJs 上将图像缓冲区转换为 PDF 缓冲区
Convert Image Buffer to PDF Buffer on NodeJs
我和剧作家一起工作,我从屏幕截图中得到图像:
const image = await elementHandle.screenshot({
fullPage : true,
clip: {
width: 1200,
height: 1500,
}
});
它returns我是一张图片的缓冲区。所以我需要将图像缓冲区转换为 pdf 缓冲区。
已经使用了一些插件,但它保存了 pdf,我只需要它的缓冲区(不保存)。
喜欢这个插件:
const pages = [
image
]
imgToPDF(pages, 'A4').pipe(fs.createWriteStream('temp.pdf'));
有什么想法吗?
我是在 'canvas' 包的帮助下完成的:
https://www.npmjs.com/package/canvas
import Canvas from 'canvas';
function imageToPdf(pdfBuffer) {
const img = new Canvas.Image();
img.src = pdfBuffer;
const canvas = Canvas.createCanvas(img.width, img.height, 'pdf');
const context = canvas.getContext('2d');
context.drawImage(img, 0, 0, img.width, img.height);
return canvas.toBuffer();
}
我和剧作家一起工作,我从屏幕截图中得到图像:
const image = await elementHandle.screenshot({
fullPage : true,
clip: {
width: 1200,
height: 1500,
}
});
它returns我是一张图片的缓冲区。所以我需要将图像缓冲区转换为 pdf 缓冲区。
已经使用了一些插件,但它保存了 pdf,我只需要它的缓冲区(不保存)。
喜欢这个插件:
const pages = [
image
]
imgToPDF(pages, 'A4').pipe(fs.createWriteStream('temp.pdf'));
有什么想法吗?
我是在 'canvas' 包的帮助下完成的: https://www.npmjs.com/package/canvas
import Canvas from 'canvas';
function imageToPdf(pdfBuffer) {
const img = new Canvas.Image();
img.src = pdfBuffer;
const canvas = Canvas.createCanvas(img.width, img.height, 'pdf');
const context = canvas.getContext('2d');
context.drawImage(img, 0, 0, img.width, img.height);
return canvas.toBuffer();
}