如何在Web视图上启用缩放以使用PDF(Android)加载URL?
捏缩放工作正常加载一个普通的网址,如果我启用设置如下,
myWebView.getSettings().setBuiltInZoomControls(true); //this works fine.
问题是,
我有一个用PDF加载URL的webview。 我正在使用谷歌文档查看器加载此网址,以避免将PDF下载到设备。 就像是,
' “http://docs.google.com/gview?embedded=true&url=http://www.abc.com/xxxxxyyyyyxz.pdf”'
在网页视图中加载此URL显示带有内置缩放选项的PDF,按钮单击或双击放大,单击按钮缩小。
与捏放大相比,这不是一个很好的用户体验。
到目前为止,我已经尝试了很多解决方案,但还没有成功。 我试过以下,
如果任何人有任何其他有用的信息供我试用,请分享。
众所周知,PDF是很难与Android进行交互的。 你可以:
1.)滚动您自己的支持PDF的WebView的实现
我不建议这样做。 我的典型逻辑是,如果Google长时间没有做到这一点,那么要么做起来很困难,要么电池效率不高。 无论如何,您可能不得不用Android NDK弄脏自己,以便快速高效地实施您的实施。
http://gurushya.com/customizing-android-webview/
2.)将您的PDF转换为一系列位图
对于此选项,您需要解析网页的内容以找到必要的PDF,将PDF的每张幻灯片转换为位图,并在简单的ImageSlider中显示每个位图。 我没有时间尝试这种方法,但它似乎可以工作(虽然可能不是很快)。 这个计算器的答案可能有所帮助:
在Android Java中需要帮助将PDF页面转换为位图
3.)遵循公约 - 建议
这可能是您的最佳选择。 使用谷歌文件是有点黑客。 当你通过它PDF时,你基本上打开一个JavaScript PDF阅读器与糟糕的移动支持。 在Android中处理PDF的典型方法是检查用户是否安装了PDF阅读器,如果他们这样做,则打开PDF。 该PDF阅读器很可能会缩小缩放功能。 由于性能方面的原因,Android可能会以这种方式实现,并且可以在更广泛的设备上工作。
请记住,尽管您的普通iOS用户可能不会像以前那样习惯于此; Android用户很容易在其他应用中打开文件。 在PDF阅读器中打开PDF文件,用户可以选择使用哪种PDF阅读器。 通过这样做,您可以为读者提供更多的选择,而不仅仅是缩放(例如索引搜索,高亮显示,快速导航用户界面),具体取决于他们安装的应用程序。 如果他们没有PDF阅读器? 建议一个免费的,并将它们链接到您选择的Android商店!
在Android上使用Java呈现PDF文件
老问题,但这是我找到的解决方案。
WebView mWebView = (WebView) findViewById(R.id.webView);
mWebView.getSettings().setJavaScriptEnabled(true);
WebSettings webSettings = mWebView.getSettings();
webSettings.setBuiltInZoomControls(true);
webSettings.setSupportZoom(true);
希望这可以帮助!
那么不用WebView来向用户显示PDF,或许使用PDF-View会更有意义。 这是我在Google搜索后找到的一个图书馆,但我从未使用过它,因此我无法确定它的工作效果如何:https://code.google.com/p/apv/
编辑:这是另一个PDF-libs列表的答案:https://stackoverflow.com/a/6729135/1219113
链接地址: http://www.djcxy.com/p/46765.html上一篇: How to enable pinch zoom on a web view loading a url with pdf(Android)?
下一篇: Android webview download and view pdf, xls or doc files