怎么读取 pdf 的目录?

2021-12-09 13:10:23 +08:00
 laravel

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

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

2178 次点击
所在节点    程序员
8 条回复
kujio
2021-12-09 13:43:46 +08:00
一般网站都是拆成图片的,目录的话提取 pdf 信息应该不是问题,
SilentTiger
2021-12-09 14:11:29 +08:00
用 pdf.js 啊,基本上是目前 web 的端展示 pdf 文件的最佳选择。
https://mozilla.github.io/pdf.js/
laravel
2021-12-09 14:27:16 +08:00
@SilentTiger nodejs 端处理吗?纯前端的不行,这样 pdf 就暴露了
Kasumi20
2021-12-09 14:47:44 +08:00
laravel
2021-12-09 14:48:06 +08:00
我还是研究下 pdf 文件的结构吧,自己解析出来也行
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
2021-12-09 15:15:48 +08:00
@Kasumi20 我试试,谢谢
laravel
2021-12-09 17:12:35 +08:00
@Kasumi20 确实 pdf.js 强大啊,文章太多了,肯定能实现。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/821089

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX