Others

为什么我的 PDF 是下载而不是直接在浏览器中打开

单击网站上 PDF 文档的链接,然后看到浏览器的下载栏出现在窗口底部,而不是在浏览器选项卡中优雅地呈现 PDF 内容,这是一种常见且令人沮丧的用户体验。 PDF 文件本身没有任何损坏、格式错误或损坏。在用户看到内容的第一个像素之前,网络服务器和浏览器默默地协商如何处理传入的文件,并且它们共同决定将文件下载到磁盘而不是内联显示。

PDF 能否在浏览器窗口中顺利打开以立即查看,还是作为文件下载到用户的本地存储,取决于 Web 服务器配置设置、浏览器内置 PDF 处理功能和用户个人浏览器首选项之间的三向交互,所有这些都在用户界面后面隐形运行。

了解为什么要下载而不是显示 PDF 需要检查 Web 服务器如何传输 Content-Disposition HTTP 标头、浏览器如何处理 application/pdf MIME 类型,以及浏览器设置和安装的扩展如何修改默认 PDF 处理行为。 WukongPDF 的PDF 格式 工具可创建适合跨平台PDF 阅读 的符合标准的 PDF,下面的说明涵盖了链中的每个因素。

Why Is My PDF Downloading Instead of Opening Directly in the Browser

内容处置标头:服务器如何指示浏览器

当任何 Web 服务器将 PDF 文件发送到请求浏览器时,它会在实际文件数据之前包含一组 HTTP 响应标头。 Content-Type 标头将传入数据流标识为 application/pdf,告诉浏览器期望什么样的内容。 Content-Disposition 标头提供了决定浏览器行为的关键指令。配置为发送 Content-Disposition: inline 的服务器指示浏览器使用浏览器可用的任何 PDF 渲染功能直接在浏览器窗口中显示 PDF 内容。配置为发送 Content-Disposition: 附件的服务器指示浏览器提示用户在本地下载并保存文件。

网站管理员和托管提供商在 Web 服务器级别配置 Content-Disposition 标头,可以全局配置从域提供的所有 PDF 文件,按目录配置特定文件夹,或按文件配置单个文档。如果网站运营商希望访问者能够在浏览器中阅读 PDF,而无需下载,则可以配置内联交付。网站运营商希望确保访问者保留永久的本地副本(可能用于用户应存档的税务文件、法律文件或保修登记),则配置附件传送。在大多数情况下,决定因素是服务器配置,而不是 PDF 文件本身的任何属性。

WukongPDF

尝试编辑 PDF

无需安装。直接在您的浏览器中工作。

立即开始 →

浏览器设置和内置 PDF 查看功能

每个现代网络浏览器(Chrome、Edge、Firefox、Safari)都包含内置的 PDF 查看器组件,可以直接在浏览器选项卡中呈现 PDF 文档,而无需任何外部应用程序或插件。所有主要浏览器均默认启用这些内置查看器。当 Web 服务器发送 Content-Disposition 标头设置为内联的 PDF 时,浏览器会将传入数据流路由到其内置查看器,该查看器会在浏览器选项卡中与正常浏览器界面元素一起呈现页面。当服务器发送 Content-Disposition: 附件时,无论内置查看器是否可用并启用,浏览器都会将文件下载到本地磁盘。

每个浏览器都公开一个用户可配置的设置,控制在浏览器级别对 PDF 文件发生的情况,独立于服务器的指令进行操作。在 Chrome 中,导航至“设置”、“隐私和安全”、“站点设置”,滚动至“其他内容设置”,然后选择“PDF 文档”。标记为下载 PDF 文件而不是在 Chrome 中自动打开它们的开关直接控制浏览器是使用其内置查看器还是强制下载每个 PDF,而不管服务器的 Content-Disposition 标头如何。故意启用此切换的用户(可能是因为他们更喜欢在专用桌面应用程序中阅读 PDF)即使在服务器正确内联发送时也会体验到他们单击的每个 PDF 链接的下载。

浏览器扩展和第三方 PDF 处理应用程序

通常管理下载或专门处理 PDF 文件的已安装浏览器扩展可以拦截并覆盖服务器的 HTTP 标头和浏览器自己的内置 PDF 设置。下载管理器扩展可以拦截具有 application/pdf MIME 类型的任何内容,并自动将其路由到下载队列,而不是允许浏览器的查看器显示它。第三方 PDF 查看器扩展可以在浏览器中将自身注册为 PDF 内容的指定处理程序,并在其自己的自定义查看器界面中打开文件或提示用户下载以供离线查看。

Adobe Acrobat 的可选浏览器扩展在安装并启用后,可以拦截指向 PDF 文件的链接,并提供在完整的桌面 Acrobat 应用程序中打开文档,而不是在浏览器的轻量级内置查看器中显示它。扩展程序的行为由 Acrobat 中配置的用户自己的首选项设置控制。之前选择在 Acrobat 中打开作为首选 PDF 处理方法的用户将看到每个 PDF 在外部桌面应用程序中启动,这可能会产生文件在实际在单独的应用程序窗口中打开时已下载的视觉印象。

系数对 PDF 行为的影响用户控制级别
服务器内容处置:内联浏览器在内置查看器中打开 PDF用户无法直接覆盖服务器配置
服务器内容处置:附件无论所有其他设置如何,浏览器都会下载 PDF用户无法直接覆盖服务器配置
浏览器 PDF 查看器切换设置在内置查看器和强制下载之间切换浏览器设置界面中的完全用户控制
浏览器 PDF 扩展可以拦截和重定向 PDF 处理用户控制扩展安装和配置

检查和更改浏览器的 PDF 处理行为

要更改您自己的浏览器处理 PDF 文件的方式,请打开浏览器的设置界面并搜索 PDF。找到控制 PDF 处理行为的切换按钮或下拉菜单,并将其设置为您的个人偏好。如果尽管您的浏览器配置为内联查看,但特定网站始终强制下载 PDF,则服务器会故意发送附件 Content-Disposition 标头,并且仅您的浏览器设置无法覆盖服务器的显式指令。请联系网站所有者请求更改配置,或安装专门的浏览器扩展,旨在从传入的 HTTP 响应中剥离或重写 Content-Disposition 标头。

对于希望其 PDF 文档在访问者浏览器中顺利打开的网站所有者和内容发布者,请将 Web 服务器配置为发送 Content-Disposition: inline 对于所有具有 application/pdf MIME 类型的文件。在 Apache HTTP Server 上,在面向 .htaccess 文件中的 .pdf 扩展名的 FilesMatch 块中添加标头集 Content-Disposition 内联指令。在 Nginx 上,在处理 PDF 文件请求的位置块中添加 add_header Content-Disposition 内联指令。配置更改对所有新传入请求立即生效。

WukongPDF

尝试编辑 PDF

无需安装。直接在您的浏览器中工作。

立即开始 →