如何仅用Google Chrome内置功能在控制台打印本地PDF前4字节?
仅用Chrome内置功能获取本地PDF前4字节的方法
可以实现,无需依赖外部服务器,直接在Chrome开发者工具控制台中通过内置API读取当前PDF文件并提取前4字节,具体步骤如下:
- 打开本地PDF的标签页,按下
F12或Ctrl+Shift+I唤起开发者工具,切换到Console标签。 - 执行以下代码:
await fetch(window.location.href) .then(response => response.arrayBuffer()) .then(buffer => { const firstFourBytes = new Uint8Array(buffer.slice(0, 4)); // 输出十六进制格式(PDF的前4字节通常是 %PDF,对应十六进制 25 50 44 46) console.log('前4字节(十六进制):', Array.from(firstFourBytes).map(byte => byte.toString(16).padStart(2, '0')).join(' ')); // 输出十进制格式 console.log('前4字节(十进制):', Array.from(firstFourBytes).join(' ')); });
原理说明
Chrome允许file://协议下的页面同源访问自身文件,因此可以通过fetch获取当前PDF的原始数据。将响应转换为ArrayBuffer后,截取前4字节并转换为可读格式输出即可。
可能的问题与解决
如果遇到跨域错误,说明Chrome的安全策略限制了file://协议的文件访问,此时需要重启Chrome并添加启动参数--allow-file-access-from-files(这属于Chrome内置的启动配置,无需额外工具)。
内容的提问来源于stack exchange,提问作者Jiloji
相关产品推荐
相关产品推荐

