首页 > 解决方案 > 强制在浏览器中打开pdf,而不是下载

问题描述

我正在使用 Python 3.6.6,需要在浏览器中显示几个 pdf 文件。

我尝试了几个 pdf 文件并得到了 2 个不同的结果。

例如:

import webbrowser
webbrowser.open('https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/pdf_reference_archives/PDFReference.pdf')

在我的浏览器中打开一个新选项卡并显示该文件。

其他文件会立即下载,而不是显示在浏览器的新选项卡中。

我想知道为什么有些文件会自动下载而其他文件显示在浏览器中的原因,我可以在浏览器中手动下载文件。

我需要一个可以强制文件在浏览器中打开的解决方案。

我已经通读了这个问题,但它似乎更局限于 HTML。

我注意到的最后一件事。如果我尝试从 Internet 下载任何 pdf 文件,它会在新选项卡中打开该文件。下载它们的问题只出现在我公司的网络服务器上保存的文件中。这只是网络服务器上缺少的配置吗?如果是,是否有可能使用 python 绕过这个配置?

标签: pythonpython-3.xpdfpython-3.6

解决方案


是否将文件放在下载目录中(而不显示它)或是否缓存文件并在浏览器中打开它是网络浏览器的决定。因此,请勿使用最终用户系统上安装的网络浏览器。

相反,让您的程序包含它自己的网络浏览器。在程序的网络浏览器中打开 pdf(以及程序显示的所有其他内容)。这样,您始终可以修改程序的网络浏览器以在浏览器中查看文件,而不是保存到下载目录。

市场上有几种免费的开源网络浏览器。只需使用其中之一。


推荐阅读