Android Printing API on Galaxy Tab

邮差的信 提交于 2019-11-27 14:10:57

Printing is not yet supported on Android. You have to use a 3rd party solution like Mobile Dynamix, HP iPrint for Android or Send2Printer.

Intents are described here:

http://www.openintents.org/en/node/735

http://www.openintents.org/en/node/278

Use build in PrintManager Service

private void doWebViewPrint() {
        mWebView = new WebView(PrintActivity.this);
        WebSettings settings = mWebView.getSettings();
        settings.setJavaScriptEnabled(true);
        mWebView.setWebViewClient(new WebViewClient() {

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                return false;
            }

            @Override
            public void onPageFinished(WebView view, String url) {
                mProgressBar.setVisibility(View.GONE);
                createWebPrintJob(view);
                mWebView = null;
            }
        });
        mWebView.loadUrl(urlToPrint);
    }

    protected void createWebPrintJob(WebView webView) {
        PrintManager printManager = (PrintManager) getSystemService(Context.PRINT_SERVICE);
        @SuppressWarnings("deprecation")
        PrintDocumentAdapter printAdapter = webView.createPrintDocumentAdapter();
        mPrintJob = printManager.print(docName, printAdapter,
                new PrintAttributes.Builder().build());
    }

you need to set

urlToPrint = "whatUrlToPrint"
docName = "anyDocumentName";
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!