-
下载pdf.js源码:可以从其GitHub - mozilla/pdf.js: PDF Reader in JavaScript
下载最新版本的源码。将下载的文件解压后,将其中的pdfjs
目录及所有文件复制到Android项目的assets
目录下。 - 配置Android项目:
确保你的Android项目已创建好,且minSdkVersion不低于16 - 配置WebView并加载pdf.js:
在Activity中获取WebView实例,并进行相关配置:
WebView webView = findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setAllowFileAccess(true);
webSettings.setAllowFileAccessFromFileURLs(true);
webSettings.setAllowUniversalAccessFromFileURLs(true);
-
加载本地的pdf.js预览页面,并传入PDF文件路径。如果要预览本地PDF文件,可以使用
image.png
file:///android_asset/路径;
如果要预览网络PDF文件,需要将PDF文件的URL作为参数传递给预览页面。例如:
// 预览本地PDF文件
webView.loadUrl("file:///android_asset/pdfjs/web/viewer.html?file=file:///android_asset/sample.pdf");
// 预览网络PDF文件
webView.loadUrl("file:///android_asset/pdfjs/web/viewer.html?file=" + pdfUrl);
把viewer.mjs(或viewer.js)文件中跨域检查注释掉就可以了,如下:
image.png
或者把你的pdf源加到HOSTED_VIEWER_ORIGINS里面