使用NodeJ从文档的每一页中提取特定位置的pdf文本



我有一个pdf文档,里面有多个页面。每个页面的页脚都有唯一的ID。我的工作是将文档中的每个页面分离成单独的pdf文件并保存,使用文件名中的ID("invoice_{ID}&"(,使用NodeJS

以下是基本的文档结构:

document
page1
footer1 ( unique_id1 located here)
page2
footer2 (unique_id2 )
...
pageN
footerN

我能够将文档分离成更小的pdf,并使用以下代码保存(在stackoverflow上找到(:

// split.pdf.js
const fs = require('fs');
const path = require('path');
const { PDFDocument } = require('pdf-lib');

const splitPDF = async (pdfFilePath, outputDirectory) => {
const data = await fs.promises.readFile(pdfFilePath);
const readPdfText = await pdfParser(data);
const readPdf = await PDFDocument.load(data);
const { length } = readPdf.getPages();
for (let i = 0, n = length; i < n; i += 1) {
const writePdf = await PDFDocument.create();
const [page] = await writePdf.copyPages(readPdf, [i]);
writePdf.addPage(page);
const bytes = await writePdf.save();
const outputPath = path.join(outputDirectory, `Invoice_Page_${i + 1}.pdf`);
await fs.promises.writeFile(outputPath, bytes);
console.log(`Added ${outputPath}`);
}
};
splitPDF('./invoices.pdf', 'splitted').then(() =>
console.log('All invoices have been split!')
).catch(console.error)

现在,我如何从每个页脚中提取unique_id,并在保存新文件时在filename中使用它?

我的第二个问题是,无论有什么解决方案,都必须100%正确,因为每个文件都有机密信息,我真的不能搞砸。哈哈:(非常感谢。

如果您已经对它们进行了拆分,您可能会使用"pdf解析";NPM库并对数据进行搜索/查找。文本返回

https://www.npmjs.com/package/pdf-parse

最新更新