在我们的Web应用程序中,我们使用以下代码行在iframe
中显示PDF文档:
<iframe id="iframeContainer" src="https://example.com/pdfdoc.pdf"
style="width:100%; height:500px;"></iframe>
字符串
这在所有主要的桌面浏览器中都可以正常工作,PDF的宽度可以缩放到iFrame的范围内,垂直滚动条可以查看文档中的所有页面。
然而,目前我不能让PDF在移动的Safari中正确显示。在这种情况下,只有PDF的左上角部分是可见的,没有任何水平或垂直滚动条来查看文档的其余部分。
有人知道我在移动的Safari中解决这个问题的方法吗?
更新-2013年3月
经过几个小时的搜索和实验,我可以得出结论,这个问题是一个真实的烂摊子!!有一堆解决方案,但每一个都远不完美。任何人在这个问题上挣扎,我建议参考“Strategies for the iFrame on the iPad Problem”。对我来说,我需要把这个写掉,为我们的iPad用户寻找另一个解决方案。
更新-2015年5月
只是一个快速更新这个问题.最近我已经开始使用谷歌驱动器查看器,这基本上解决了原来的问题.只需提供一个完整的路径到PDF文档和谷歌将返回一个HTML格式的解释你的PDF(不要忘记设置embedded=true
).例如.
https://drive.google.com/viewerng/viewer?embedded=true&url=www.analysis.im%2Fuploads%2Fseminar%2Fpdf-sample.pdf的
我将此作为较小视口的后备,并将上述链接嵌入到我的<iframe>
中。
6条答案
按热度按时间wqnecbli1#
我找到了一个新的解决方案。从iOS 8开始,移动的Safari将PDF渲染为框架内HTML文档中的图像。然后您可以在PDF加载后调整宽度:
字符串
ibps3vxo2#
字符串
d4so4syb3#
我的解决方案是在移动的上使用google drive,在大屏幕上使用内嵌在iframe中的标准pdf。
字符串
xmjla07d4#
为了在2021年使用谷歌预览版,我不得不做以下事情。对上面发布的方式进行了一些小调整。
字符串
b4qexyjb5#
尝试
pdf.js
也应该在移动的safari中工作:https://github.com/mozilla/pdf.js/dy2hfwbg6#
我也遇到了同样的问题。我发现通过将焦点设置在输入上(不适用于div标签),pdf会显示出来。
我通过添加一个隐藏的输入并将焦点设置在它上面来修复它。
字符串