[我的小项目] 一个运行在本地的基于浏览器的PDF阅读器(taopdf)
想法
周五下班路上,突然产生一个想法。
macOS 上的 PDF阅读器(预览)用起来不太顺手。主要是没有书签编辑器。
并且,我想到传统的 PDF阅读器 有一个特别不爽的地方:书签是保存在原始PDF文件中的。 如果修改了书签,就相当于PDF文件发生了修改,这很没必要。
于是,我想在外部存储这个书签列表(当然,还可以是其它),比如放在服务器上,即在线书签。 还有就是,提供一个方便的本地文件浏览功能。
第一版
于是,周六宅家里一天。完成了第一版。
测试体验下载地址:movsb/taopdf
她分成两部分:1)前端,2)后端。
- 前端是用 Mozilla/PDF.js 做的跑在浏览器上的一个 PDF阅读器,增加了部分功能。
- 后端是用 Go语言 写成的一个提供本地文件系统树支持的接口,用于 PDF.js 获得文件列表。
运行后,即可浏览器并打开本地的文件,效果图如下:
这只是一个文件浏览列表,在线书签的功能还没想好怎么做。
使用方式
- 把 PDF 文件放在
pdfs
目录下,或用--pdf
参数指定; - 下载对应的程序包,执行
server
目录下的server
或server.exe
即可; - 然后在浏览器中打开页面:http://127.0.0.1:8733。
支持的参数:
$ ./server -h
Usage of ./server:
-listen string
listen (default ":8733")
-pdf string
PDF root directory (default "../pdfs")
-web string
web root (default "../web")
项目
代码放在 GitHub 上,有两个。
- 阅读器(taopdf分支):movsb/pdf.js: PDF Reader in JavaScript
- 后台接口:movsb/taopdf
编译方式
见 GitHub,编写中。
结束
希望你喜欢。