【问题标题】:Display PDF file in modal window在模态窗口中显示 PDF 文件
【发布时间】:2011-02-04 06:49:31
【问题描述】:

有什么方法可以直接在模态框中显示 PDF 文件?

我使用 CodeIgniter PHP 框架和 jQuery 作为 JavaScript 框架。


更新:我在网上读到,可以通过在iframe 中加载它,Adobe PDF 会渲染它,但似乎很多人反对,那么有什么方法可以将这些 PDF 转换为图像?

【问题讨论】:

  • 有很多转换程序。 Image Magick 的“转换”命令行工具可以将 PDF 转换为图像。

标签: php jquery pdf codeigniter


【解决方案1】:

简短回答:不。

更长的答案:通常,PDF 文档不是由浏览器直接呈现,而是由一些专门的 PDF 阅读器呈现。一旦浏览器看到application/pdf 的内容类型,它就会将响应传递给阅读器。您在 HTTP 标头、HTML 或 JavaScript 中所做的任何事情都无法跨越浏览器和其他程序之间的差距,而且 PDF 格式本身不包含启用任何类型的模式用户界面的开关。

更新:将 PDF 呈现为图像将允许您以更模态的方式显示文档的图形内容。您仍然无法阻止用户关闭浏览器,但您可以在显示图像时“锁定”页面上的任何其他内容。

相关:How do I convert a PDF document to a preview image in PHP?

【讨论】:

  • 可以转成图片查看吗?
  • @Shishant:是的,您可以将 PDF 页面呈现为图像并在某种模式 UI 中显示这些图像(请参阅我的更新答案和此处提供的链接)。
  • @rkulla:它不会违背拥有 PDF 的目的。显示 PDF 的唯一方法是将其呈现为某种图像。这正是 Adob​​e Reader 所做的。
【解决方案2】:

这是个坏主意。始终让用户将浏览器设置为他们想要处理 PDF 文件的方式。因此,只需创建一个指向 pdf 的链接。无论如何,模态窗口都不是为了那个目的。

【讨论】:

    【解决方案3】:

    如果你真的想,你可以把它嵌入一个普通的对象。例如:

    <object type="application/pdf" data="embeddedfile.pdf" width="500" height="650">

    【讨论】:

      猜你喜欢
      • 2018-10-13
      • 1970-01-01
      • 2012-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-22
      相关资源
      最近更新 更多