📜  base64 到 pdf 替换 nodejs - Javascript (1)

📅  最后修改于: 2023-12-03 15:29:34.442000             🧑  作者: Mango

Base64到PDF替换NodeJS - JavaScript

在Web开发中,Base64编码是一种非常常见的数据格式。在某些情况下,我们需要将以Base64编码的文件生成PDF文件。在这个教程中,我们将学习如何使用NodeJS和JavaScript将以Base64编码的文件转换成PDF文件。

步骤
  1. 首先,需要安装pdfmake,它是生成PDF文档的一个轻量级库。

    npm install pdfmake
    
  2. 然后我们需要将Base64编码的文件转换成buffer。我们可以使用Buffer.from()方法将Base64编码的内容转换成buffer。

    const pdfBase64 = "data:application/pdf;base64,JVBERi0xLjMKJcfs...";
    const pdfBuffer = Buffer.from(pdfBase64.split(",")[1], "base64");
    
  3. 现在我们可以使用pdfmake API将buffer转换成PDF文档。我们需要使用createPdfKitDocument()方法将buffer转换成PDF文档。

    const pdfDoc = pdfmake.createPdfKitDocument({
      content: [
        {
          image: pdfBuffer,
          width: 500
        }
      ]
    });
    
  4. 最后,我们需要将PDF文档保存到本地磁盘。我们可以使用fs模块的writeFile()方法将PDF文档保存到本地磁盘。

    const fs = require("fs");
    pdfDoc.pipe(fs.createWriteStream("output.pdf"));
    pdfDoc.end();
    

这样我们就可以将以Base64编码的文件生成PDF文件了。

完整代码
const pdfBase64 = "data:application/pdf;base64,JVBERi0xLjMKJcfs...";
const pdfBuffer = Buffer.from(pdfBase64.split(",")[1], "base64");

const pdfmake = require("pdfmake");
const fs = require("fs");

const pdfDoc = pdfmake.createPdfKitDocument({
  content: [
    {
      image: pdfBuffer,
      width: 500
    }
  ]
});

pdfDoc.pipe(fs.createWriteStream("output.pdf"));
pdfDoc.end();

请注意,这个代码片段仅仅是一个例子,请根据实际情况进行修改。