📜  pdfmake 图像数据 uri 格式 (1)

📅  最后修改于: 2023-12-03 14:45:06.930000             🧑  作者: Mango

pdfmake 图像数据 uri 格式

pdfmake 是一个用于生成 PDF 文件的 JavaScript 库。它支持将图像数据以 URI 格式包含在生成的 PDF 文件中。本文将介绍如何使用 pdfmake 将图像数据以 URI 格式添加到 PDF 文件中。

准备工作

在使用 pdfmake 之前,需要先安装它。可以使用 npm 进行安装:

npm install pdfmake

将下面的代码片段保存为 example.js 文件:

const PdfPrinter = require('pdfmake');

const fonts = {
  Roboto: {
    normal: 'node_modules/roboto-font/fonts/Roboto/roboto-regular-webfont.ttf',
    bold: 'node_modules/roboto-font/fonts/Roboto/roboto-bold-webfont.ttf',
    italics: 'node_modules/roboto-font/fonts/Roboto/roboto-italic-webfont.ttf',
    bolditalics: 'node_modules/roboto-font/fonts/Roboto/roboto-bolditalic-webfont.ttf'
  }
};

const printer = new PdfPrinter(fonts);

const docDefinition = {
  content: [
    { text: 'Hello pdfmake!', fontSize: 24 },
    { 
      image: 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB/..', 
      width: 200,
      height: 200
    }
  ]
};

const pdfDoc = printer.createPdfKitDocument(docDefinition);
pdfDoc.pipe(require('fs').createWriteStream('output.pdf'));
pdfDoc.end();

请确保和上述代码在同一个目录下,然后通过以下命令执行该文件:

node example.js

执行结果会生成一个名为 output.pdf 的 PDF 文件,并包含一张图像。

说明

在以上代码中,docDefinition 变量定义了要生成的 PDF 文件的内容,这里包含了两个元素:一个文本和一个图像。

图像的 image 属性是图像数据的 URI,可以是 base64 编码格式的图像数据,也可以是任何有效的图像 URL。在这个例子中,我们使用的是 base64 编码的图像数据。

图像的 widthheight 属性可以设置图像的宽度和高度。

最后,使用 printer.createPdfKitDocument 创建一个 PDF 实例,然后将其导出到名为 output.pdf 的文件中。

以上就是使用 pdfmake 将图像数据以 URI 格式添加到 PDF 文件中的介绍和示例代码。希望对你有所帮助!