X-tools 1.5.2:五年前朋友找搜索PDF内容的软件,现在终于有了

萝卜2026-01-31

五年前,朋友找我寻一款能搜索 PDF 文件内容的软件,我在知乎找了一篇文章,推荐给他,虽然过程有些繁复,但也算解决了当时的问题。

现在,X-tools 发布了 1.5.2,可以方便地完成这样的事情。

X-tools 1.5.2 增强了搜索功能,在支持 Markdown 等文本文件搜索的基础上,添加了对 PDF,office 文档的支持。

这个版本还提升了搜索的性能。

以前是单线程搜索,现在是多线程,理论上,你的电脑 CPU 有几个核心,就能提高几倍的性能。

以前是直接搜索文件,读取,检索,现在在保证新鲜的同时,做了一层缓存,极大的提升了性能。

以我在“倪海厦笔记”这个中医资料库搜索“春三月”为例,这个库包含了 3185 个大大小小的 PDF 和 Markdown 文件,第一次搜索,耗时 25 秒,后续搜索三五次,都在 2 秒左右。

当我把软件推荐给那位朋友用时,他说卡,我了解了一下具体情况,他是在占磁盘 800G,32 万个文件里检索,这种量级的文件,谷歌来了也卡。推荐朋友们谨慎乐观,从小样本开始使用。

这个版本提升了对视频及字幕的支持。搜索字幕时,即时显示相关的视频,并根据字幕的位置,调整视频的进度。在字幕预览的文件里,点击字幕,视频也会切换进度。这个在你想找某一段对话时,特别有用。

搜索真是个麻烦事儿,折腾了两周,才发布了这个版本。

我的计划是,每周,前几日开发功能,后几日,吹牛,写文章,做视频,到处夸自己的软件。

搜索的坑太多了,JS worker 的坑,electron 的坑,flexsearch 的坑,数据库的坑,一个一个填平,妥协,才有了今日勉强可用的功能。

flexsearch 号称下一代的 JS 搜索引擎,当我费劲巴拉的开发好了功能,在小样本上测试通过之后,换了有几百部中医典籍的中医资料库,瞬间便内存爆仓,OOM 了。不仅在浏览器里 OOM,写个脚本,索引几十个大文本文件,也 OOM。只能忍痛放弃。

sqlite 也支持索引,倒是省内存,几十兆内存,便搞定了一切,但搜索的时候发现,搜索不完全,可能是分词的影响,让 Trae 解决,其找到了一个办法,用 like 语句,可以找到所有内容。但测试了更多关键字后,发现 like 也找不全。考虑到数据库操作带来的复杂性,也放弃了。

最后,选择了一个线程池+缓存的模式,我常用的几个资料库,基本上都可以几秒内搜索完成,也是可以接受了。

预览的时候,打开大文件,要等很久。有个 7 万行的文件,等几分钟,才能显示出来。Deepseek 告诉我有些支持虚拟滚动的库,可以解决这个问题。试了试 react-window,果然,瞬间打开了两行内容,然后,卡住了几十秒。这个体积,专家也是费劲。后来,通过手动控制显示范围,解决了,无论多大的文件,都能秒开。(有可能我见识浅,还没有见过真正的大文件)。

关关难过关关过,已经不错了。

几个月前,具体来说,是去年 11 月,起了一个给自己写一个更好的资料库工具的念,方便自己读书,学英语,听歌,看电影等等。

现在,目标基本达成了。

X-tools,嗯,这个名字,就是当时也不知道会发展成啥样,所以,叫 X。马斯克也喜欢这个名字,给他儿子起了这个名字。

X-tools,现在可以方便地浏览文件,树状展示文件夹,可以打开各种格式的文件,Markdown,PDF,视频,图片,office 文档,以及各种文本文件等等。

搜索功能,支持各种文档的全文检索。性能也说得过去。只要不是很夸张的资料库,都能几秒内完成搜索。

Markdown 文件,大纲,朗读,内部搜索,编辑,嗯,编辑感觉还不够好,下一步要完善。

视频,音频文件,支持字幕,字幕搜索,过滤,跳转。看视频,学英语,都很方便。

词典功能,这个功能似乎无人叫好,但我自己觉着很好。可以把 Markdown 作为词典来用。我把神农本草经当做词典,在读医书时,随时划定一片文本,词典便检出其中的药材条目,显示出来。要是有个英文的 Markdown 词典,学英语也是会方便很多。

如上,我设想的功能,基本都有了。接下来便是愉快地读书,学习,吹牛了。

如果你有想要的功能,可以评论区说说,说不定下个版本(或者五年后),就加上了。

这个软件,是我写给自己的,也是写给大家的。

不要钱,还开源,没啥不放心的。

如果用得着,一定要用起来啊。

资源

视频演示 B站

源码仓库 https://github.com/yanxxl/X-tools

软件下载 https://github.com/yanxxl/X-tools/releases

百度网盘 https://pan.baidu.com/s/1rrKWxU3YozX9sPyMz6XyUw?pwd=7gf3

夸克网盘 https://pan.quark.cn/s/bf5dbae9db63?pwd=BmzX

请把网盘内容转存到自己的网盘,以防神秘消失。

最后修改于 2026-01-31 20:26:22