【问题标题】:html5/css3, Asp.net MVC3 - View pdf in an html page on mobile safarihtml5/css3, Asp.net MVC3 - 在移动 safari 的 html 页面中查看 pdf
【发布时间】:2012-08-10 06:32:54
【问题描述】:

我即将推出的移动网络项目需要查看网页内动态选择的 pdf 文件。我正在使用 iFrame 来显示 pdf 文件,并且可以使用两指滚动来滚动文件。但我面临的问题是:

  1. 文件的第一页没有完全显示在 iPad 上,并且沿宽度被截断,这与我在桌面浏览器上查看时不同,虽然缩小到 pdf 的第一页始终完全显示适合 iFrame 区域。

  2. 没有任何视觉指示可以让用户看到 pdf 文档可以滚动,即 pdf 文档上没有滚动条。

  3. pdf 查看器 (Adobe reader) 的控件(页面导航、缩放等)不会出现在文档上,这与我在桌面浏览器上看到的情况不同。

实现我想要做的事情的最佳方式是什么?你们中的任何一位专家都知道我面临的问题的任何解决方案/解决方法吗?也可以考虑使用除 iFrame 之外的任何东西的完全不同的方法。

pdf应该在html页面内的原因是,pdf文件列表将在页面左侧的菜单栏上,用户可以单击其中任何一个在同一页面上查看.理想情况下,他们将能够在全屏视图和该视图之间切换。

感谢任何帮助。

【问题讨论】:

    标签: ipad html css safari


    【解决方案1】:

    问题似乎是 iPad 上的 Safari 存在错误。

    我没有找到将 pdf 嵌入 html 的解决方案,但我确实找到了:

    如果您从控制器操作而不是视图返回 FileStreamResult,则 pdf 将在新选项卡中打开,它不是嵌入的 html,但至少您的用户不必下载文件并手动打开它们。

    【讨论】:

      【解决方案2】:

      我在网上搜索以寻找答案时遇到了这个Recommended way to embed PDF in HTML?

      提到的链接讨论了我可以使用的一些选项,谷歌文档查看器对我有用,但不知道在网站上使用它之前是否需要注意任何事情(如数据限制)。我也不知道这是否是一个好的解决方案(虽然全屏模式不可用,但放大/缩小和下一页/上一页按钮显示在 iPad 上的移动 safari 中)使用用于将在 iPad 上运行的网络应用程序。

      无论如何,我会继续寻找更好的解决方案,如果我没有找到,我会坚持使用谷歌文档查看器。

      【讨论】:

        【解决方案3】:

        我创建了一个小型 JavaScript 模块,它可以帮助您显示 PDF 内联并能够滚动它。但我也想不出办法让它适合父容器的总宽度。

        查看:https://github.com/williamrjribeiro/ipdf-scroll

        干杯。

        【讨论】:

        • 只是好奇,它允许用户放大和缩小吗?
        • @DebarupaDe:是的,但它不是原生 PDF 缩放。这只是默认的浏览器缩放。这意味着 PDF 将无法呈现应有的效果。这是在 标签上设置的。
        【解决方案4】:

        我遇到了同样的问题,即 pdf 没有完全显示。我发现解决此问题的唯一方法是更改​​包含 pdf 的 div 的大小。

        例如,如果包含 pdf 的元素是 div,那么我将其宽度更改为任何值,然后回滚到它之前的值。改变宽度或高度任何一个都可以。

        有时在调用我的可调整大小的方法之前,我不得不使用 setTimeout 稍等片刻

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-03-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多