实现一个需求

最近看 sqlserver 官方文档的 pdf,越看越觉得其中的知识点十分繁杂,众多分支无穷尽焉,让人心生畏惧。

https://huaiyao-image-hosting.oss-cn-shanghai.aliyuncs.com/images/implement-a-requirement_1.png


于是想着能不能有个工具,可以把 pdf 里的大纲提取出来,并且能够标记完成度,这样能有信心一点一点去学习,逐渐拨开层层迷雾。

一顿谷歌,发现没有现成的工具可以一步到位实现需求。不过搜索过程中发现了 OmniOutliner,试用了一下,发现它界面精美,可以展示大纲并且可以标记,完美符合我的需求。

剩下的问题就是如何把 pdf 文档里的大纲导出然后导入 OmniOutliner 了。

又是一番搜索,找到了 mupdf,这个工具可以导出 pdf 大纲。

虚拟机 Windows 里运行 c:\mupdf-1.20.0-windows>mutool.exe show SQLServer.pdf outline >b.txt

https://huaiyao-image-hosting.oss-cn-shanghai.aliyuncs.com/images/implement-a-requirement_2.png


Mac 里处理一下多余的字符

去掉右面的 #page=xxx

vi b.txt

:1,$s/#page.*$//g

https://huaiyao-image-hosting.oss-cn-shanghai.aliyuncs.com/images/implement-a-requirement_3.png


:set list

https://huaiyao-image-hosting.oss-cn-shanghai.aliyuncs.com/images/implement-a-requirement_4.png


去除左面多余 |tab 和 -tab 以及所有的双引号

:1,$s/|^I//g

https://huaiyao-image-hosting.oss-cn-shanghai.aliyuncs.com/images/implement-a-requirement_5.png


:1,$s/-^I//g

https://huaiyao-image-hosting.oss-cn-shanghai.aliyuncs.com/images/implement-a-requirement_6.png


:1,$s/"//g

https://huaiyao-image-hosting.oss-cn-shanghai.aliyuncs.com/images/implement-a-requirement_7.png


:set nolist

https://huaiyao-image-hosting.oss-cn-shanghai.aliyuncs.com/images/implement-a-requirement_8.png


搞定!

导入 OmniOutliner,看成果图,完美。

https://huaiyao-image-hosting.oss-cn-shanghai.aliyuncs.com/images/implement-a-requirement_9.png



Comments: