myWebView.getSettings().setBuiltInZoomControls(true); //this works fine.
问题是,
我有一个webview加载带PDF的网址.我正在使用谷歌文档查看器加载此网址,以避免将PDF下载到设备.就像是,
‘ “http://docs.google.com/gview?embedded=true&url=http://www.abc.com/xxxxxyyyyyxz.pdf”’
在Web视图上加载此URL会显示带有内置缩放选项的pdf,单击按钮或双击可放大,按钮单击可缩小.
与捏缩放相比,这不是一个出色的用户体验.
到目前为止,我已经尝试了很多解决方案,但还没有成功.我试过以下,
> android-pinch开源库,适用于加载带图像的URL的地图和Web视图.
>这tutorial很有帮助,但无法让它适用于我的webView.
如果有人有任何其他有用的信息供我试用,请分享.
解决方法
1.)滚动您自己的支持PDF的WebView实现
我不建议这样做.我的典型逻辑是,如果谷歌没有在足够长的时间内完成它,那么它要么很难做到,要么电池效率不高.在任何情况下,您可能不得不亲自动手使用Android NDK,以便快速高效地实施.
http://gurushya.com/customizing-android-webview/
2.)将PDF转换为一系列位图
对于此选项,您需要解析网页的内容以查找必要的pdf,将PDF的每张幻灯片转换为位图,并在简单的ImageSlider中显示每个位图.我没有时间尝试这种方法,但似乎它可能有用(虽然可能不是很快).此stackoverflow答案可能会有所帮助:
Need help to convert a Pdf page into Bitmap in Android Java
3.)遵循惯例 – 推荐
这可能是您最好的选择.使用Google Docs有点像黑客.当你传递PDF时,你实际上是在打开一个带有糟糕移动支持的javascript PDF阅读器.在Android中处理PDF的典型方法是检查用户是否安装了PDF阅读器并打开PDF(如果有). PDF阅读器很可能具有缩放缩放功能. Android可能出于性能原因以这种方式实现,并且可以在更广泛的设备范围内工作.
请记住,虽然您的普通iOS用户可能不习惯这个; Android用户可以轻松地在其他应用中打开文件.在PDF阅读器中打开PDF,用户可以选择使用哪种PDF阅读器.通过这样做,您可以为读者提供更多选项,而不仅仅是捏缩放(例如索引搜索,突出显示,快速导航UI),具体取决于他们安装的应用程序.如果他们没有PDF阅读器?建议一个免费的,并将它们链接到您选择的Android商店!