首页 >web前端 >js教程 >如何使用 HTML 渲染器自动创建 PDF 文档

如何使用 HTML 渲染器自动创建 PDF 文档

Barbara Streisand
Barbara Streisand原创
2024-10-18 18:38:30360浏览

How to Automate PDF Document Creation with an HTML Renderer

自动化文档创建对于许多 SaaS 产品来说是一个至关重要的功能,无论是生成发票、报告还是证书。使用 HTML 渲染器,开发人员只需几行代码即可将动态 HTML 内容转换为高质量的 PDF 文档或 PNG 图像。在本指南中,我们将向您展示如何将 ExoAPI 的文档创建功能集成到您的 SaaS 产品中,从而节省时间和精力。

为什么要自动生成文档?

自动化文档创建使企业能够:

  • 大规模生成一致、专业的文档。
  • 通过自动执行发票或报告生成等重复性任务来节省时间。
  • 通过消除手动文档创建来提高准确性,降低错误风险。
  • 根据动态数据为客户提供定制文档(例如个性化报告)。

自动生成文档的用例

以下是一些文档自动化功能可以简化您的 SaaS 产品工作流程的实际示例:

  • 发票系统:根据订单详细信息自动生成客户发票的 PDF。示例:客户下订单后,动态生成品牌发票 PDF 并通过电子邮件发送给他们。
  • 报告仪表板:允许用户下载 PDF 格式的报告。示例:提供分析功能的 SaaS 产品可以让用户将数据导出为具有专业外观的 PDF 报告。
  • 证书和徽章:为课程完成、活动或成就创建可下载的 PNG 证书或徽章。示例:电子学习平台可以在完成课程后自动为学生生成定制证书。
  • 电子商务订单摘要:自动生成 PDF 或 PNG 格式的订单确认或发货标签。示例:下订单后,生成 PDF 格式的运输标签,准备打印。

让我们逐步了解如何使用 ExoAPI 的 HTML 渲染器设置自动文档生成。

先决条件:注册 ExoAPI

访问 ExoAPI 并注册帐户以获取您的 API 密钥。

1. 安装SDK

npm install @flower-digital/exoapi-sdk

2. 创建ExoAPI实例

在您的 JavaScript 或 Node.js 应用程序中,使用您的 API 密钥初始化 ExoAPI:

import { ExoAPI } from "@flower-digital/exoapi-sdk";
const exoapi = new ExoAPI({ apiKey: YOUR_API_KEY });

基本 PDF 生成示例

现在,让我们看一个从 HTML 内容生成 PDF 的简单示例。以下代码片段展示了如何创建具有基本样式的 PDF 文档:

npm install @flower-digital/exoapi-sdk

运作原理:

  • htmlRenderer() 函数将 HTML 字符串发送到 ExoAPI,ExoAPI 对其进行处理并返回 PDF 文档。
  • 我们使用 Node.js 的 fs 模块将 PDF 保存在本地,将文件写入 document.pdf。
  • 您可以根据应用程序的要求(例如客户详细信息、订单摘要)将 HTML 字符串替换为动态内容或模板。

高级 PDF 定制

ExoAPI 提供了多种选项来自定义您的 PDF。您可以控制页面大小、边距、方向、页眉、页脚,甚至可以注入自定义 CSS 以实现精确的样式。

这是一个高级示例,展示如何自定义 PDF 输出:

import { ExoAPI } from "@flower-digital/exoapi-sdk";
const exoapi = new ExoAPI({ apiKey: YOUR_API_KEY });

关键参数:

  • 标题:PDF文档的标题,将出现在元数据中。
  • pageSize:定义 PDF 的大小(例如 A4、Letter 等)。您还可以使用 pageWidth 和 pageHeight 设置显式尺寸。
  • margin:为文档设置统一的边距,或者使用marginTop、marginLeft等,进行更精细的控制。
  • landscape:横向设置为 true,纵向设置为 false。
  • css:可以添加自定义 CSS 来设置文档内容的样式。
  • 页眉和页脚:您可以添加页眉和页脚以及页码、总页数和日期的占位符。

生成 PNG 图像

ExoAPI 还支持从 HTML 内容生成 PNG 图像。当您需要视觉输出(例如徽章、证书或视觉报告)时,这非常有用。以下是如何生成 PNG 图像的示例:

import { ExoAPI } from "@flower-digital/exoapi-sdk";
import fs from "fs";

const exoapi = new ExoAPI({ apiKey: YOUR_API_KEY });

async function htmlRenderer() {
  try {
    const res = await exoapi.htmlRenderer({
      html: '<p style="padding:8px;font-size:36px">Hello <b style="color: green">world!</b></p>',
      format: "pdf",
    });
    fs.writeFileSync("document.pdf", Buffer.from(await res.arrayBuffer()));
    console.log("PDF document generated successfully!");
  } catch (err) {
    console.error("Error generating PDF:", err);
  }
}

htmlRenderer();

自定义图像尺寸:

  • imageWidth 和 imageHeight 参数允许您指定 PNG 图像的大小(以像素为单位)。
  • 如果未提供 imageHeight,它将自动适应内容。

开始使用

ExoAPI 的 HTML 渲染器使 SaaS 产品中的文档创建变得异常简单且可定制。只需几行代码,您就可以自动生成 PDF 和图像,简化发票、报告和创建具有视觉吸引力的文档等流程。通过将 ExoAPI 集成到您的工作流程中,您可以增强应用程序的功能,同时节省手动文档创建任务的时间。

立即尝试 ExoAPI,了解它如何简化文档创建并提高 SaaS 应用程序的工作效率。查看官方 ExoAPI 文档以探索更多功能和自定义选项。

以上是如何使用 HTML 渲染器自动创建 PDF 文档的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn