【问题标题】:Show PDF in a web在 Web 中显示 PDF
【发布时间】:2026-01-06 13:50:02
【问题描述】:

我想在网页中显示 PDF 文件的内容。我不希望浏览器在用户点击时下载。

【问题讨论】:

    标签: html pdf


    【解决方案1】:

    使用 Google PDF 查看器:

    <iframe src="http://docs.google.com/gview?url=URL_TO_YOUR_PDF&embedded=true" style="width:600px; height:500px;" frameborder="0"></iframe>
    

    【讨论】:

    • 确实 :) 它非常有用,而不是强迫用户运行 PDF
    • 一个缺点是 PDF(或其他文档类型)需要公开可用。如果您想使用此查看器显示仅在登录后可用的用户特定文档,这可能不是最佳解决方案。不过,您可以在 URL 中包含某种键,例如 &auth=temp-hash,以暂时允许外部访问您的文件。
    • 是的,但就像你说的,有办法解决这个问题。您甚至可以制作一次性密钥或其他东西,一旦通过 Google 读取文件,链接就会失效。
    【解决方案2】:

    您可以在您的标记中使用embed the adobe acrobat plugin。当然,用户必须在他的浏览器中安装了一些适当的插件才能正常工作。另一种可能性是将您的服务器端脚本设置为发送proper HTTP headers 以指示浏览器嵌入文件。

    【讨论】:

    • 这个世界需要更少的公司进入浏览器。
    • 这个世界也需要更少的浏览器 :-)
    【解决方案3】:

    您将无法从服务器端控制浏览器配置。有些人的浏览器会被配置为内嵌显示 PDF,而其他人则不会。

    您可以做的(将此作为编程问题阅读)是将 PDF 转换为 HTML 并提供结果。 Apache PDFBox 可能对这样的工作很有用。

    【讨论】:

      【解决方案4】:

      使用&lt;iframe&gt;

      <iframe src="/url/to/file.pdf" width="500" height="300"></iframe>
      

      或者&lt;object&gt;,当您实际使用 XHTML 时。

      <object data="/url/to/file.pdf" type="application/pdf" width="500" height="300">
          alt : <a href="/url/to/file.pdf">file.pdf</a>
      </object>
      

      请注意,旧版浏览器不支持上述内容,上述结构会让它们优雅地降级为普通的普通链接。

      【讨论】: