【问题标题】:Retrieve a pdf's bookmark data using VanillaJS/Node.js使用 Vanilla JS/Node.js 检索 pdf 作为书签数据
【发布时间】:2023-01-28 07:44:52
【问题描述】:

我正在尝试检索 pdf 的元数据,使用没有库的 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)

【问题讨论】:

  • 我想我只需要书签所在的页面和书签的名称。
  • 谢谢 KJ,我想我已经得出结论,在没有库或其他第三方软件的情况下使用 VanillaJS 来解析 pdf 数据不太可行
  • LEADTOOLS JavaScript 文档库有 lt.Document.DocumentStructure 类,它在加载文档后管理文档的内部链接。这可以调用 Parse 方法来解析给定文档中的书签和内部页面链接。如果您对这个图书馆感兴趣,您可以从网站here 下载免费评估(免责声明:我是供应商的员工)

标签: javascript node.js pdf directory


【解决方案1】:

由于使用 vanilla JS 的困难,以及可能工作的库的问题(由于节点版本冲突),我最终使用了 PDFTron 服务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-24
    • 2016-02-07
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 2022-01-25
    • 2016-06-08
    相关资源
    最近更新 更多