搜索PDF内文字定位关键词所在页码
只能搜索PDF里真实存在的文字内容,扫描版PDF(图片形式)没有文字层,没办法搜索。所有处理完全在浏览器本地完成,不会上传你的文件。
这个工具可以在一份 PDF 里搜索关键词,并告诉你关键词出现在第几页、在那一页出现了几次,同时显示命中位置附近的一小段文字。它先把整份文件的文字层读出来,再在你输入关键词时即时匹配。因此它只对包含真实文字的 PDF 有用,扫描件、图片型 PDF 没有文字层,搜不到任何内容。它是一个轻量的「定位在哪一页」的工具,不会在原文件里高亮关键词,也不支持正则表达式或多个关键词组合。
下面的结果是用与页面相同的匹配逻辑,对一份自制的三页测试文件实际运行得到的。文件第 1 页文字为「Invoice Summary Total due: 120 USD. Please pay the invoice.」,第 2 页为「Appendix No invoice here? Invoice again.」,第 3 页是空白页。搜索关键词 invoice 时,工具报告 2 页匹配:第 1 页出现 2 次,显示的片段为「Invoice Summary Total due: 120 USD. P…」;第 2 页出现 2 次,片段为「Appendix No invoice here? Invoice again.」;空白的第 3 页没有出现在结果中。可以看到搜索不区分大小写,「Invoice」和「invoice」都被计入了次数。
常见原因有三个:一是文件其实是扫描图片;二是这个词在 PDF 内部被拆成了几个片段,拼接时中间多了空格;三是页面上看到的字符和文件内部存储的字符不一致,比如使用了特殊字体或连字。可以试着换一个更短的关键词,或者只搜索词的一部分。
是在这一页的全部文字里,统计关键词(不分大小写)出现的次数。它统计的是字符串出现的次数,不是单词数。例如搜索 art 时,也会算上 start、party 里的 art。如果两处出现位置相互重叠,统计规则取决于正则匹配的方式,通常是不重叠地依次计数。
浏览器或阅读器的 Ctrl+F 会在页面上直接高亮位置。这个工具的特点是一次性列出所有命中的页码和次数,适合在页数多的文件里先找出相关页面。找到页码之后,如果想看高亮,仍然需要在阅读器里再搜索一次。
你选择的文件只在浏览器内读取,文字由本地打包的 pdf.js 组件解析,页面中没有上传文件或搜索词的网络请求。读出的文字和你输入的关键词只保存在当前页面的内存里,刷新或关闭页面后即清除。