0

I own the Android Web View application, and I added a print icon to it, but when I click on it, a dialog box opens to choose the printer and paper size, but I want to print the page directly without opening the dialog box

this my MainActivity.java

    public class MainActivity extends AppCompatActivity {
        private WebView webView;
        FloatingActionButton fab;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //initialize WebView
            webView = findViewById(R.id.webView);
            fab = findViewById(R.id.fab);
            fab.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // Code Here ==========
                    createWebPrintJob(webView);
                }
            });
            webView.setWebChromeClient(new WebChromeClient());
            webView.getSettings().setJavaScriptEnabled(true);
            // WebView loading handling
            webView.setWebViewClient(new WebViewClient() {
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    return false;
                }
                @Override
                public void onPageFinished(WebView view, String url) {
                    //if WebView load successfully then VISIBLE fab Button
                    fab.setVisibility(View.VISIBLE);
                }
            });
            webView.loadUrl("https://example.com");
        } // OnCreate method close here =============
        private void createWebPrintJob(WebView webView) {
            PrintManager printManager = (PrintManager) this.getSystemService(Context.PRINT_SERVICE);
            PrintDocumentAdapter printAdapter = webView.createPrintDocumentAdapter();
            String jobName = getString(R.string.app_name) + " Print Test";
            printManager.print(jobName, printAdapter, new PrintAttributes.Builder().build());
        }
    } // Public Clase close here =========================```

0 Answers0