推荐一个同事做的小工具:PDF书签易
你有没有遇到过这种情况:好不容易找到一本 PDF 电子书,打开发现没有书签目录。几百页的书,想跳到某一章只能一页一页翻,或者疯狂按 Ctrl+F。
我一个同事就被这个问题折磨够了。
从自己的痒点开始
他喜欢用 PDF 看技术书。网上找的、淘宝买的扫描版,很多都没有完整的书签目录。市面上能加书签的工具不是没有——福昕阅读器可以,WPS 也行。但体验都一样:一条一条手动添加,点击、输入标题、设置页码、设置层级,循环往复。一本 300 页的书,光加书签就要半小时以上。
淘宝和闲鱼上甚至有专门代做 PDF 书签的服务。按目录页收费,每页 1-2 块钱,一本普通的书大概 10 多块,耗时一个小时左右。头部商家月销几百单。
说明这个需求是真实存在的,而且现有的解决方案都很原始。
先用最笨的方法解决问题
他没有一上来就做 APP。
第一步是写了一个 Python 命令行脚本:照着 PDF 的目录页,在一个 TXT 文件里用缩进表示层级,写好标题和页码,脚本读取后自动写入 PDF。
甚至目录都不用自己敲——去电商网站搜这本书,商品描述里的目录直接复制过来就行,还自带页码。
这个"工程版"工具,让他制作一本书的书签只需要几分钟。他拿这个效率去闲鱼接单,还真卖出了几十块钱。
这个阶段很有意思:用最低成本验证了需求,同时验证了解决方案。
从工具到产品
命令行版本只能自己用,推广不了。于是他启动了创新项目,目标是做一个真正的产品级桌面应用。
核心交互很优雅:窗口左边是 PDF 页面预览,中间是书签文本编辑区,右边是实时生成的书签树预览。像写代码一样写书签——用缩进定义层级,所见即所得。
几个亮点功能:
• 内置 OCR:扫描版 PDF 直接识别目录页文字,省去手动输入
• 智能页码校准:扫描版 PDF 的页码和实际印刷页码经常对不上,用一个简单的 (++5) 语法就能批量修正偏移
• 自动格式化:识别 1.1、1.1.1 这种标准编号,自动生成对应的层级缩进
• 纯本地处理:所有文件都在本地完成,不上传服务器
技术选型值得说说
他没用 Electron(太臃肿),选了 Tauri:Rust 后端 + Web 前端。PDF 渲染和 OCR 都直接调用系统原生 API——macOS 用 Swift 的 PDFKit 和 Vision,Windows 用微软官方的系统 API。Rust 通过 FFI 调用编译好的静态库。
结果是:安装包小、性能好、不依赖任何外部服务。
支持 macOS 和 Windows,已上架 Mac App Store 和 Microsoft Store。
我觉得有意思的地方
这个项目打动我的不是技术本身,而是整个过程:
从真实的个人痛点出发,不是"我觉得市场需要"
先用最简单的方式(Python 脚本)解决自己的问题
拿到闲鱼上卖,用最低成本验证别人也有同样的需求
确认需求存在后,才投入精力做产品级应用
技术选型务实:能用系统 API 就不引入第三方依赖
这就是一个典型的"从缝隙中长出来"的小产品。市场不大,大公司看不上,但需求真实、解决方案清晰、有明确的付费意愿。
产品官网:https://easybookmark.starryappx.com/cn/