使用IRONPDF FOR NODE.JS

如何在Node.js中从模板生成PDF文件

Darrius Serrant
Darrius Serrant
2023年十一月17日
更新 2024年十月8日
分享:

本文将探讨一个示例,说明如何使用名为IronPDF for Node.js的PDF库从HTML模板生成PDF文档。

IronPDF for Node.js 是什么?

IronPDF for Node.js 是一个功能强大且多功能的工具,可无缝集成到 Node.js 中,使开发人员能够在其应用程序中轻松生成、操作和管理 PDF 文档。 IronPDF 凭借其全面的功能和直观的 API,使开发人员能够简化各种与 PDF 创建相关的任务,从创建具有视觉吸引力的文档到添加交互式元素,所有这些都能保持高度的可控性和定制性。 无论是生成报告、发票还是其他重要文档,IronPDF for Node.js 都能提供可靠高效的解决方案,以无缝和开发人员友好的方式满足各种 PDF 页面生成需求。

IronPDF 功能

  1. 从HTML/CSS生成PDF:HTML和CSS源创建PDF文档。 这样您就可以将网页或 HTML 模板转换为 PDF 格式。

  2. PDF 操作与编辑: 通过添加、删除或更新文本、图像、注释和 PDF 文件内的其他元素来编辑和修改现有的 PDF。

  3. 合并和拆分PDF: 将多个PDF文档合并为一个(合并)或将单个PDF拆分为多个较小的PDF

  4. 打印和表单处理: 控制打印设置处理PDF中的交互式表单,包括表单提交和验证。

  5. 安全和加密 实施安全措施,如密码保护、加密、访问控制和 数字签名 来保护 PDF 文档。

  6. 文本提取 从PDF中提取文本和数据,使您可以在其他应用程序中使用这些内容或进行数据分析。

  7. 自定义:自定义PDF文档的外观和布局,包括页面大小、字体、颜色、页眉、页脚和其他设计元素。

  8. 跨平台兼容性:确保库与不同操作系统上的Node.js兼容,使其对在各种平台上工作的开发人员而言具有多功能性。

安装 IronPDF for Node.js

本节将介绍如何安装 IronPDF for Node.js 和设置 Node.js 项目。

开始之前,请确保您的系统已安装 Node.js。

  1. 打开命令提示符(CMD),并使用以下命令启动一个新的Node.js项目:
    mkdir IronPDF   # Creates a new directory for the project.

    cd IronPDF      # Navigates to the newly created directory.

    npm init -y     # Creates a package.json file to store project-related metadata and dependencies.

如何在Node.js中从模板生成PDF文件,图1:打开命令提示符(CMD)并执行命令

打开命令提示符(CMD)并执行该命令

  1. 初始设置完成后,使用以下命令安装 IronPDF:

    ```:shell

    产品安装

  2. 在 Visual Studio Code 中打开项目,创建一个名为 "index.js "的新文件。

  3. 打开 package.json 文件,在 "类型 "下添加以下一行以启用模块使用:
    "type": "module",

如何在 Node.js 中从模板生成 PDF 文件,图 2:示例 package.json 文件

示例 package.json 文件

通过这些步骤,IronPDF for Node.js 已成功安装,环境已设置完毕,可以运行 IronPDF 代码。

使用 IronPDF for Node.js 从 HTML 模板创建 PDF

IronPDF for Node.js 提供允许用户从 HTML 模板或 HTML 页面创建 PDF 的功能。 该功能使用户能够使用自己提供的输入填充这些模板。

下面提供的代码将演示如何使用 HTML 模板生成和编写 PDF 文档。

import { PdfDocument } from "@ironsoftware/ironpdf";
import readline from 'readline';

const generatePdf = async (userInput, fileName) => {
  // HTML template with placeholders
  const htmlTemplate = `
<!DOCTYPE html>
  <html>
  <body>
    <h1>${userInput.title}</h1>
    <p>User's name: ${userInput.userName}</p>
    <p>User's email: ${userInput.userEmail}</p>
  </body>
  </html>
`;

  // Create a PDF from the modified HTML template
  const pdf = await PdfDocument.fromHtml(htmlTemplate);

  // Save the PDF
  await pdf.saveAs(fileName);
  console.log(`PDF saved as ${fileName}`);
};

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

rl.question('Enter title: ', (title) => {
  rl.question('Enter user name: ', (userName) => {
    rl.question('Enter user email: ', async (userEmail) => {
      // User-provided data
      const userInput = {
        title,
        userName,
        userEmail
      };

      // Generate the PDF
      await generatePdf(userInput, "output.pdf");

      rl.close();
    });
  });
});
NODE.JS

上述代码示例定义了一个 JavaScript 程序,该程序通过使用 readline 模块从命令行获取用户输入的标题、用户名和用户电子邮件。 generatePdf() 方法被定义为使用提供的HTML模板创建一个PDF文档,并以给定的文件名保存。 HTML 模板包括标题、用户名和用户电子邮件的占位符,这些占位符由用户提供的数据填充。 PdfDocument 类来自 @ironsoftware/ironpdf 包,用于从 HTML 模板创建 PDF。 生成 PDF 后,将以指定的文件名保存,并将确认保存的消息记录到控制台。

readline模块用于提示用户输入相关数据,通过一系列问题询问标题、用户名和用户电子邮件。 用户对这些提示的响应将被收集并存储在一个名为userInput的对象中。 然后调用generatePdf()方法,使用该用户输入和默认文件名“output.pdf”来创建并保存或下载基于提供数据的PDF文档。 最后,关闭读线界面,结束程序。

PDF生成测试#1

如何在 Node.js 中从模板生成 PDF 文件,图 3:控制台输出

控制台输出

如何在Node.js中从模板生成PDF文件,图4:output.pdf

output.pdf

PDF 生成测试#2

如何在 Node.js 中从模板生成 PDF 文件,图 5:控制台输出

控制台输出

如何在 Node.js 中从模板生成 PDF 文件,图 6:output.pdf 文件

output.pdf 文件

结论

本教程揭示了通过将动态数据与预定义模板合并,使用 Node.js 轻松生成 PDF 的过程,强调了IronPDF的关键作用。

IronPDF for Node.js 无缝集成到 Node.js 中,使开发者能够有效创建、操作和管理 PDF 文档,提供全面的功能集,如从 HTML/CSS 生成 PDF、编辑现有 PDF 文件、合并/拆分文件、处理表单、确保安全性、启用文本提取和自定义。

分步安装过程和实际示例演示了如何在 Node.js 项目中有效实施 IronPDF。 通过无缝集成基于模板的 PDF 生成功能,开发人员可以有效地满足各种文档生成需求,从而使 Node.js 和 IronPDF 成为简化和开发人员友好型 PDF 生成的有力组合。 同样的技术也可用于动态生成发票。

您可以安装 IronPDF for Node.js 并在以下 npm 网页上找到代码示例。

IronPDF 提供免费试用许可证,因此用户可以在购买之前试用 IronPDF 提供的所有功能。 如需更多信息,请访问IronPDF 授权页面

Darrius Serrant
全栈软件工程师(WebOps)

达瑞乌斯·塞兰特拥有迈阿密大学计算机科学学士学位,目前在Iron Software担任全栈WebOps营销工程师。从小对编码的热爱使他认为计算机既神秘又易接近,成为创意和解决问题的完美媒介。

在Iron Software,达瑞乌斯乐于创造新事物并简化复杂概念,使其更易于理解。作为我们在职开发者之一,他还自愿教授学生,将他的专业知识传授给下一代。

对达瑞乌斯而言,他的工作之所以令人满足,是因为它具有价值并产生了真正的影响。

< 前一页
如何在Node.js中从URL下载PDF文件
下一步 >
Node.js PDF SDK(开发人员教程)

准备开始了吗? 版本: 2025.3 刚刚发布

查看许可证 >