用pdf.js在手机APP端显示服务器端PDF文件

http://mozilla.github.io/pdf.js/getting_started/#download

 下载网址 选择

Stable(v11.9.426)版本

在AndroidStudio 建立的工程的app下的main目录 右键--new--Folder--Assets Folder.

  在main 目录下会新建一个assets 目录。将下载的pdfjs-1.9.426-disk全部复制到assets 目录下

 

 

 

 


在Activity文件中调用并在 xml 文件中显示服务器上的PDF文件 url是“http://xxx.xxx.xxxx....aaa.pdf”

public class XXXXXActivity extends BaseActivity {
    private WebView pdfWebView;
    private String url;//pdf服务器地址
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_scan_pdf_report);
        initView();
    }

    /**
     * 初始化视图
     */
    private void initView() {
        url = getIntent().getStringExtra("url");//网络PDF地址
        pdfWebView = (WebView) findViewById(R.id.activity_scan_pdf_report_wv);
        pdfWebView.setWebViewClient(new WebViewClient()// // 重写此方法表明点击网页里面的链接还是在当前的webview里跳转。不跳到浏览器那边
        {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                // 返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
                view.loadUrl(url);
                return true;
            }
        });
        WebSettings settings = pdfWebView.getSettings();
        settings.setSavePassword(false);//API18以上版本已废弃。未来版本将不支持保存WebView中的密码。设置WebView是否保存密码,默认true
        settings.setJavaScriptEnabled(true);//设置WebView是否允许执行JavaScript脚本,默认false,不允许
        settings.setAllowFileAccessFromFileURLs(true);
        settings.setAllowUniversalAccessFromFileURLs(true);
        settings.setBuiltInZoomControls(true);//设置WebView是否使用其内置的变焦机制,该机制集合屏幕缩放控件使用,默认是false,不使用内置变焦机制。
        pdfWebView.setWebChromeClient(new WebChromeClient());

        pdfWebView
                .loadUrl("file:///android_asset/pdfjs-1.9.426-dist/web/viewer.html?file=" + url);//先把文件下载到本地,然后传入本地文件路径进行下载
    }
}

 

 

 

注释掉viewer.js文件内的jiejue 跨域报错问题

 

 

 

在 viewer.html 文件中找到sidebarContainer ,(默认侧页弹出比较烦人,隐藏掉)

隐藏侧页添加  class=”hidden”

 

 

 

 

 

自己建立的XML文件里的webView

 

<WebView
    android:id="@+id/activity_scan_pdf_report_wv"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

 

展开阅读全文

没有更多推荐了,返回首页