在浏览器中检测本机或第三方PDF插件
Detect native or third-party PDF plugin in browser
我们正在编写一个小工具,用于查看我们网站生成的PDF,并让浏览器打开它们。我们的情况发生了变化,我们希望PDF在浏览器中100%显示。我们不希望浏览器自动将PDF保存到其下载文件夹中(出于HIPAA原因)。(如果用户自己下载,那没关系。他们发起的保存是一个非常重要的区别。)
我想找到一个解决方案,在浏览器和这个额外的需求之间做出妥协。我的攻击计划是:
- 检测本地浏览器插件,例如Google Chrome和Firefox
- 如果没有本地浏览器插件可用,请检查第三方插件,例如Adobe或FoxIt
- 如果没有第三方插件可用,请使用PDF.js或其他Javascript解决方案进行渲染
我不确定如何进行第一步。我发现步骤2有一些成功之处,但我想让步骤1发挥作用,因为这是主要的用例。如有任何帮助,我们将不胜感激。
提前谢谢。
如果您想以编程方式从服务器渲染pdf文件,您需要将mime类型添加到标头:
PhP示例:
<?php
$file = 'path/to/PDF/file.pdf';
$filename = 'filename.pdf';
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
@readfile($file);
?>
C#示例:
Response.AppendHeader("Content-Disposition", "inline; filename=something.pdf")
Return File(output, "application/pdf", "something.pdf")
或者,如果您想使用JavaScript检测pdf查看器,这可以帮助您:JavaScript检测是否安装了Adobe Reader
相关文章:
- 如何使用javascript或html下载PDF格式的填写表单
- 如何将PDF作为二进制文件传递到window.open()
- javascript.点击显示嵌入的pdf
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- Javascript/Jquery Blob not showing Chrome PDF
- 如何检测第三方广告服务器请求
- 在提交时打开thankyou.html+下载PDF
- 生成pdf或其他非html文件时的错误处理
- how to convert html <div> to pdf
- 将下载链接从web浏览器传递给第三方应用程序
- 在iOS和Android上使用React native时,我还能使用本机第三方lirbraries吗
- 将画布转换为pdf:黑色背景
- 使用jquery cookie的第三方cookie
- markrwithlabel.js(第三方)原始文件链接断开
- 如何在不在本地下载的情况下将url中提供的文件(pdf/doc)转换为json/string/base64格式
- 开发第三方小部件-Angular vs jQuery vs普通的旧JS
- 以PDF附件的形式通过电子邮件发送谷歌文档
- 将Meteor中的base64 PDF作为电子邮件附件
- 无法执行文件.退出Acrobat PDF中的操作
- 在浏览器中检测本机或第三方PDF插件