【发布时间】:2021-07-25 05:19:46
【问题描述】:
有没有办法将多个 base64 PNG 文件转换为 PDF?
谢谢
【问题讨论】:
有没有办法将多个 base64 PNG 文件转换为 PDF?
谢谢
【问题讨论】:
我能够使用 node-canvas 解决问题
const fs = require('fs');
const {createCanvas, loadImage}= require('canvas');
// get the base64 string
const base64String = require("./base64");
loadImage(Buffer.from(base64String, "base64")).then(async (img) => {
const canvas = createCanvas(img.width, img.height, 'pdf');
const ctx = canvas.getContext('2d');
console.log(`w: ${img.width}, h: ${img.height}`);
ctx.drawImage(img, 0, 0, img.width, img.height);
const base64image = canvas.toBuffer();
// write the file to a pdf file
fs.writeFile('simple.pdf', base64image, function(err) {
console.log('File created');
});
});
更多信息:https://www.npmjs.com/package/canvas
注意:解决方案不仅适用于 png,还适用于任何图像类型。
然后使用任何 pdf 库合并 pdf,例如 hummus
【讨论】:
我想你正在寻找这个。
import fs from 'fs';
let base64String = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA';
// Remove header
let base64image = base64String.split(';base64,').pop();
fs.writeFile('filename.pdf', base64image, {encoding: 'base64'}, function(err) {
console.log('File created');
});
【讨论】: