Edge浏览器无法打印服务器获取的PDF文件问题求助
前端打印服务器PDF的两种方案实践与问题总结
我最近在实现前端打印从服务器获取的PDF需求时,先后尝试了两种方案,下面是具体的实现思路和遇到的问题:
方案1:AJAX获取PDF生成Blob后通过iframe打印
具体步骤:
- 通过AJAX请求从服务器获取PDF文件
- 使用
URL.createObjectURL(pdfFile)生成Blob对象的访问URL - 将这个Object URL设置为iframe的
src属性 - 调用
iframeContentWindow.document.execCommand('print', false, null)来触发打印操作
遇到的问题:
这个方案在Edge浏览器中无法生效,存在明显的兼容性问题。
方案2:直接将PDF接口URL设为iframe源打印
具体步骤:
- 直接把服务器返回PDF的端点URL赋值给iframe的
src属性 - 触发iframe的打印操作
遇到的问题:
提供PDF的服务器端点需要授权验证,目前还没有找到可行的办法来处理这种带授权的场景(比如在iframe请求中携带认证信息)。
内容的提问来源于stack exchange,提问作者tchelidze
相关产品推荐
相关产品推荐

