有没有一种方法可以强制PDF在Adobe Reader中打开而不是插件中?

3
我们有一个Air和Flash应用程序,可以打开PDF文件,但默认情况下,许多计算机会通过浏览器插件而不是通过阅读器打开PDF。是否有一种方法可以在Flash/Air中强制执行替代行为?
由于我们有稍微可写的PDF文件,因此需要这样做。
谢谢!
2个回答

2
我假设人们正在下载您的文件夹中的PDF,并且您提供了该文件的链接。如果是这样,您可以在同一文件夹中添加一个htaccess文件,以防止PDF文件在浏览器中打开。
您应该执行以下操作:
  1. 使用任何文本编辑器创建新的txt文件
  2. 将此内容复制并粘贴到其中:Header set Content-Disposition "attachment"
  3. 将其保存为:htaccess.txt
  4. 将其放入您服务器上的下载文件夹中
  5. 将其重命名为:.htaccess
就这些。
但是,简单的方法是将PDF文件压缩成zip文件。

0

我给你的问题点赞,因为我有一个非常类似的问题(只是我想从普通网页而不是Air应用程序中全屏打开Acrobat Reader,而不是插件)。然而,在进行了大量研究(谷歌搜索)之后,我已经确信我们都没有办法。

问题在于,浏览器基本上只是进行简单的MIME类型查找来确定“我应该在Reader插件中打开这个”。因此,似乎没有任何给定的网页/air应用程序可以做到让浏览器使用不同的应用程序;改变事情的唯一方法是用户编辑他们的浏览器首选项。唯一可能起作用的是如果您更改正在提供的文件的MIME类型...但那只会提示用户选择一个程序;它不会自动在独立的阅读器中打开。

无论如何,我很希望看到其他人发布一个证明我错误的答案,但在花费了几个小时的时间之后,恐怕我们两个都没有办法。


我可能发现了一个稍微狡猾的方法来处理它,至少在air中是这样。计划是将文件类型更改为类似于.pdf2的东西,然后将其与Adobe Reader关联而不是Web浏览器。这应该在air中起作用,但我认为在Web上不会起作用... - Parris
应该可以工作;这与我建议更改正在提供的文件的MIME类型类似。但无论如何,这将要求所有用户单独设置“Adobe Reader(完整版)”作为打开“pdf2”文件的默认程序,对吧?除非air有一种设置文件打开首选项的方法?如果没有,那对于用户来说似乎是一个不小的麻烦... - machineghost
真的,嗯。我不明白为什么即使有空气,它也试图使用浏览器打开东西。MIME类型应该是更合适的解决方案,但是像你说的那样,你无法设置它打开的程序。在air中,您可以按照以下方式操作:http://www.senocular.com/flash/tutorials/fileassociation/不确定是否也可以在flash中执行此操作。似乎这是一个受限于具有flex sdk的操作。如上所述,可能无法防止AIR或Flash首先询问浏览器文件类型。 - Parris
啊,我明白了。所以如果将“pdf2”(或其他名称)与你的AIR应用程序相关联,那么你就可以让你的应用程序将其重定向到“真正的”Adobe Reader?如果是这样的话,我可能需要制作一个专门用于提供重定向的AIR应用程序 :-) - machineghost
我不知道。我只能祈祷好运哈哈。 - Parris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接