V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
laravel
V2EX  ›  程序员

怎么读取 pdf 的目录?

  •  
  •   laravel · 2021-12-09 13:10:23 +08:00 · 1926 次点击
    这是一个创建于 841 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我想实现网页中展示 pdf 的目录,点击目录的某一项,才去动态加载对应的 pdf 一页。

    用什么语言的什么库比较容易实现?

    8 条回复    2021-12-09 17:12:35 +08:00
    kujio
        1
    kujio  
       2021-12-09 13:43:46 +08:00
    一般网站都是拆成图片的,目录的话提取 pdf 信息应该不是问题,
    SilentTiger
        2
    SilentTiger  
       2021-12-09 14:11:29 +08:00
    用 pdf.js 啊,基本上是目前 web 的端展示 pdf 文件的最佳选择。
    https://mozilla.github.io/pdf.js/
    laravel
        3
    laravel  
    OP
       2021-12-09 14:27:16 +08:00
    @SilentTiger nodejs 端处理吗?纯前端的不行,这样 pdf 就暴露了
    laravel
        5
    laravel  
    OP
       2021-12-09 14:48:06 +08:00
    我还是研究下 pdf 文件的结构吧,自己解析出来也行
    Kasumi20
        6
    Kasumi20  
       2021-12-09 15:02:30 +08:00
    不是,这官方例子还不清楚吗,我都玩了一把了

    ```
    import * as pdfjsLib from 'pdfjs-dist/legacy/build/pdf.js';

    const pdfPath = String.raw`C:\Downloads\XXX-Manual.pdf`;

    pdfjsLib.getDocument(pdfPath)
    .promise
    .then(function (doc) {
    doc.getOutline().then(r => {
    r.forEach(it => {
    console.log(it.title);
    });
    })
    });
    ```

    输出:
    1.软件介绍
    2.安装运行
    3.使用指南(管理员)
    4. 统一编码规则
    5. 授权的使用方法
    6. 高级配置(仅限开发运维人员使用)
    7.技术支持
    laravel
        7
    laravel  
    OP
       2021-12-09 15:15:48 +08:00
    @Kasumi20 我试试,谢谢
    laravel
        8
    laravel  
    OP
       2021-12-09 17:12:35 +08:00
    @Kasumi20 确实 pdf.js 强大啊,文章太多了,肯定能实现。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5367 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 08:37 · PVG 16:37 · LAX 01:37 · JFK 04:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.