我正在尝试检索一个pdf的 meta数据,使用VanillaJS/node.js(没有库)专门查找书签的页码,该文件位于本地桌面上。
我在另一个答案中找到了这段代码,但它只返回了文档的长度。我曾试图更改正则表达式来查找字母,但如果这样做,将返回一个包含500000个字母的数组。
这有可能吗?如果需要库,有没有人知道有一个可以做到这一点?
谢谢
const fs = require('fs').promises
let rawData = await fs.readFile(fullPath, 'utf8', (err, data) => {
if (err) {
console.error('test error', err);
return;
}
});
async function pdfDetails(data) {
return new Promise(done => {
let Pages2 = data.match(/[a-zA-Z]/g);
let regex = /<xmp.*?:(.*?)>(.*?)</g;
let meta = [{
Pages
}];
let matches = regex.exec(data);
while (matches != null) {
matches.shift();
meta.push({
[matches.shift()]: matches.shift()
});
matches = regex.exec(data);
}
done(meta);
});
}
let details = await pdfDetails(rawData)
console.log(details)
1条答案
按热度按时间zqry0prt1#
由于使用vanilla JS的困难,以及可能已经工作的库的问题(由于节点版本冲突),我最终使用了PDFTron服务。