node.js - 如何在 PDF 中嵌入和提取任意数据?
问题描述
我有一些代码可以读取 JSON 数据,将其格式化为 HTML 文件,然后使用 puppeteer 将 HTML 文件导出为 PDF。简化代码:
// Parse data
const rawData = fs.readFileSync(path.join(__dirname, 'data.json')));
const parsedData = JSON.parse(rawData.toString());
// Create HTML file
const htmlContent = generateHtml(parsedData)
const htmlPath = path.join(__dirname, 'report.html');
fs.writeFileSync(htmlPath, htmlContent);
// Load HTML file and export it as a PDF
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
await page.goto(`file://${htmlPath}`);
await page.pdf({ path: path.join(__dirname, 'report.pdf') });
await browser.close();
此 PDF 将自动生成并分发给可以自由转发的用户。
出于故障排除的目的,我希望能够将 的内容嵌入parsedData
到 PDF 文件中。如果我收到错误报告并且他们提供了 PDF,那么能够提取底层 JSON 数据进行检查会很方便。
我考虑过简单地将 JSON 作为文本块添加到报告中,但它已经有 20k 个字符,我预计它会增长得更多,使它有点笨拙。
有没有办法以一种便于以后提取的方式将这些数据嵌入到 PDF 中?
解决方案
推荐阅读
- php - 如何将 Gmail 电子邮件中的表解析到 MySQL?
- aws-glue - 用于数值的 AWS Glue JSON 分类器
- reactjs - 使用 webpack 在 es6 中进行多个或单个导入
- tensorflow - 通过 CNN 从训练图像中提取特征到数据集中
- c++ - 为什么 QObject::disconnect(const QMetaObject::Connection &connection) 使用 const 参数来修改它?
- cmake - CMake - 导入的库具有必须首先出现的库依赖项
- nsis - NSIS - 仅当系统 ID 为 64 位时才显示 SectionGroup 中的部分
- go - 如何从另一个文件或包导入gorm db连接
- java - 为什么在调用方法时,它说我已经捕获了异常,但我需要捕获它?
- javascript - 参数不可分配给参数 - 打字稿错误