【问题标题】:How to convert a base64 png to pdf using nodejs?如何使用nodejs将base64 png转换为pdf?
【发布时间】:2021-07-25 05:19:46
【问题描述】:

有没有办法将多个 base64 PNG 文件转换为 PDF?

谢谢

【问题讨论】:

    标签: node.js hummus.js


    【解决方案1】:

    我能够使用 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

    【讨论】:

      【解决方案2】:

      我想你正在寻找这个。

      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');
      });
      

      【讨论】:

      • 我正在寻找另一种方式,我是否有 png 并将其转换为 pdf。谢谢
      • 现在可以试试 我改了一下
      猜你喜欢
      • 2017-06-13
      • 2017-07-02
      • 1970-01-01
      • 2011-09-08
      • 2011-04-19
      • 2018-06-26
      • 1970-01-01
      • 1970-01-01
      • 2023-02-24
      相关资源
      最近更新 更多