0

I am trying to print a pdf with 4 pages which I am receiving from a URL. but only the first page of the pdf is showing in the print manager. So I am getting a single page in the print.

The first page is getting saved to device while trying to save it from the print manager. enter image description here My Code- (I have added a demo Url in the code)

**private void printWebView() throws UnsupportedEncodingException {
    
        webview= new WebView(this);
        webview.setWebViewClient(new WebViewClient() {
    
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                return false;
            }
    
            @Override
            public void onPageFinished(WebView view, String url) {
    
                PrintManager printManager= (PrintManager) getSystemService(Context.PRINT_SERVICE) ;
                String jobName = " Document1";
                PrintDocumentAdapter printAdapter = view.createPrintDocumentAdapter(jobName);
                PrintJob printJob = printManager.print(jobName, printAdapter,
                        new PrintAttributes.Builder().build());
                ArrayList<PrintJob> mPrintJobs = new ArrayList();
                mPrintJobs.add(printJob);
            }
    
        });
        String url=URLEncoder.encode("https://www.adobe.com/support/products/enterprise/knowledgecenter/media/c4611_sample_explain.pdf", "utf-8");
        webview.loadUrl("http://docs.google.com/gview?embedded=true&url="+url);
    }**

 

if I add more settings to the webview,then I will get a print with all these pages in a single paper. My Webview after adding settings:

webview= new WebView(this);
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setAllowFileAccessFromFileURLs(true);
webview.getSettings().setAllowUniversalAccessFromFileURLs(true);
webview.getSettings().setBuiltInZoomControls(true);
webview.getSettings().setDomStorageEnabled(true);
webview.getSettings().setLoadWithOverviewMode(true);

Print which I am getting- enter image description here

How can I solve this case. I want to take print from the Url

XamarinInfo
  • 133
  • 1
  • 8

0 Answers0