gpt4 book ai didi

javascript - 检测浏览器中的 native 或第三方 PDF 插件

转载 作者:行者123 更新时间:2023-12-03 10:24:36 25 4
gpt4 key购买 nike

我们正在编写一个小工具来查看我们网站生成的 PDF 并让浏览器打开它们。我们的案例的不同之处在于,我们希望 PDF 100% 的时间都显示在浏览器中。我们不希望浏览器自动将 PDF 保存到其下载文件夹(出于 HIPAA 原因)。 (如果用户自己下载,那没问题。他们发起的保存是一个非常重要的区别。)

我想找到一种在浏览器和额外需求之间进行折衷的解决方案。我的攻击计划是:

  1. 检测 native 浏览器插件,例如谷歌浏览器和火狐浏览器。
  2. 如果没有可用的 native 浏览器插件,请检查第三方插件,例如适用于 Adob​​e 或 FoxIt。
  3. 如果没有可用的第三方插件,请使用 PDF.js 或其他 Javascript 解决方案进行渲染。

我不确定如何进行第 1 步。我发现了第 2 步的一些结果,但我希望第 1 步能够正常工作,因为这是主要用例。任何帮助将不胜感激。

提前致谢。

最佳答案

如果您想以编程方式从服务器渲染 pdf 文件,您需要将 mime 类型添加到 header :

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 Detect if Adobe Reader is installed

关于javascript - 检测浏览器中的 native 或第三方 PDF 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29460499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com