我正试着用网页打开一个pdf文档,然后滚动到某个页面。然而,日志显示应用程序认为它滚动到了一个页面,但仍然停留在文档的第一页。
我当前的代码如下:
String pdf = https://docs.google.com/file/d/0BzfmteGs4MHZMTAzOGQ0ZjUtM2E5OC00YmNhLWIyMDEtZDAxYjc5OWIwYjkw/edit?hl=en#
web = (WebView) findViewById(R.id.web);
web.getSettings().setJavaScriptEnabled(true);
web.loadUrl(pdf);
web.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
web.scrollTo(0,100);
Log.d("CURRENTPAGE", String.valueOf(web.getScrollY()));
Log.d("TOTALPAGES", String.valueOf(view.getContentHeight()));
}
});日志上是这样写的
CURRENTPAGE: 100
TOTALPAGES: 796然而,这一页仍然停留在pdf的第1页。有人能帮我找出我哪里做错了吗?
发布于 2020-11-30 23:04:03
WebView本身并不处理PDF。如果你在内部打开一些URL (没有下载即文件提示),那么这可能是一些网络应用程序,它在内部处理PDF格式,将其内容“翻译”成WebView-understandable (一些网络语言,可能是超文本标记语言)。
因此,如果这个web应用程序将其内容作为796px高的单个网页引入(您将其命名为TOTALPAGES,这不是真的),并在内部处理pdf页面切换,那么您就不能以这种方式做很多事情
此外:您加载的网页有796px的高度,可能整个内容都适合您的屏幕,因此scrollTo方法不会有任何滚动内容。如果你的网页高度是3456px,并且你的屏幕是全高清的(所以网页无法显示),那么你可以使用scrollTo
https://stackoverflow.com/questions/65075465
复制相似问题