最近看 sqlserver 官方文档的 pdf,越看越觉得其中的知识点十分繁杂,众多分支无穷尽焉,让人心生畏惧。
于是想着能不能有个工具,可以把 pdf 里的大纲提取出来,并且能够标记完成度,这样能有信心一点一点去学习,逐渐拨开层层迷雾。
一顿谷歌,发现没有现成的工具可以一步到位实现需求。不过搜索过程中发现了 OmniOutliner,试用了一下,发现它界面精美,可以展示大纲并且可以标记,完美符合我的需求。
剩下的问题就是如何把 pdf 文档里的大纲导出然后导入 OmniOutliner 了。
又是一番搜索,找到了 mupdf,这个工具可以导出 pdf 大纲。
虚拟机 Windows 里运行
c:\mupdf-1.20.0-windows>mutool.exe show SQLServer.pdf outline >b.txt
Mac 里处理一下多余的字符
去掉右面的 #page=xxx
vi b.txt
:1,$s/#page.*$//g
:set list
去除左面多余 |tab 和 -tab 以及所有的双引号
:1,$s/|^I//g
:1,$s/-^I//g
:1,$s/"//g
:set nolist
搞定!
导入 OmniOutliner,看成果图,完美。