如何用C#调用Chrome的查找功能(Ctrl+F)自动搜索PDF内容
解决方案
1. 利用Chrome内置的PDF搜索锚点实现自动定位
Chrome原生支持通过URL锚点参数直接在打开PDF时触发内部搜索,不需要调用控制台命令或额外API。你只需要在PDF的路径后追加#search="你的关键词"即可,Chrome会自动打开PDF并定位到第一个匹配的词汇位置。
正确的C#启动代码示例
Process process = new Process(); process.StartInfo.UseShellExecute = true; process.StartInfo.FileName = "chrome"; // 替换为你的PDF本地路径,注意格式要转为file:///开头 string pdfPath = @"C:\example\document.pdf"; string encodedPdfPath = $"file:///{pdfPath.Replace(@"\", "/")}"; // 替换为你要搜索的目标词汇 string searchKeyword = "指定词汇"; process.StartInfo.Arguments = $"\"{encodedPdfPath}#search=\"{searchKeyword}\"\""; process.Start();
代码说明
- 本地PDF路径需要转为
file:///协议格式,Chrome才能正确识别为本地文件而非网络URL; #search="关键词"是Chrome PDF阅读器的内置锚点参数,会自动触发查找并定位到第一个匹配项;- 参数中的引号需要正确转义,避免解析错误。
2. 关于控制台命令和API的说明
- 你之前尝试直接传递
console.log("TEST1")作为启动参数无效,因为Chrome会将所有启动参数视为要打开的URL/文件路径,不会直接执行JS代码; - 如果你需要更复杂的浏览器控制(比如后续操作),可以使用Chrome DevTools Protocol,但对于当前的PDF自动搜索需求,上述URL锚点方法是最简单高效的,无需额外依赖或API调用。
内容的提问来源于stack exchange,提问作者Martin Míča
相关产品推荐
相关产品推荐

