--> Print/Save PDF from webview | android source code full

Find The Complete Source Code Android


Thursday, March 1, 2018

Print/Save PDF from webview

| Thursday, March 1, 2018
Print/Save PDF from Webview is usable when you want to save print webview content. you can see it in this tutorial.






Steps to use Print/Save PDF from Webview in your project.


  1. Crate a project(Print/Save PDF from Webview) in android studio.

  2. Create a Activity MainActivity.Java and update it-

    package com.pankaj.savepdffromwebview;
    import android.content.Context;
    import android.os.Bundle;
    import android.print.PrintAttributes;
    import android.print.PrintDocumentAdapter;
    import android.print.PrintManager;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    public class MainActivity extends AppCompatActivity {

    //create object of webView
    private WebView myWebView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //initialize webview
    myWebView = findViewById(R.id.myWebView);

    //add webview client to handle event of loading
    myWebView.setWebViewClient(new WebViewClient() {
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
    return false;
    }

    @Override
    public void onPageFinished(WebView view, String url) {

    //if page loaded successfully then show print button
    findViewById(R.id.fab).setVisibility(View.VISIBLE);
    }
    });

    //prepare your html content which will be show in webview
    String htmlDocument = "<html><body>" +
    "<h1>Webview Print Test </h1>" +
    "<h2>I am Webview</h2>" +
    "<p> By PointOfAndroid</p>" +
    "<p> This is some sample content.</p>" +
    "<p> By PointOfAndroid</p>" +
    "<p> This is some sample content.</p>" +
    "<p> By PointOfAndroid</p>" +
    "<p> This is some sample content.</p>" +
    "" +
    "" +
    "" + "Put your content here" +
    "" +
    "" +
    "</body></html>";

    //load your html to webview
    myWebView.loadData(htmlDocument, "text/HTML", "UTF-8");
    }

    //create a function to create the print job
    private void createWebPrintJob(WebView webView) {

    //create object of print manager in your device
    PrintManager printManager = (PrintManager) this.getSystemService(Context.PRINT_SERVICE);

    //create object of print adapter
    PrintDocumentAdapter printAdapter = webView.createPrintDocumentAdapter();

    //provide name to your newly generated pdf file
    String jobName = getString(R.string.app_name) + " Print Test";

    //open print dialog
    printManager.print(jobName, printAdapter, new PrintAttributes.Builder().build());
    }

    //perform click pdf creation operation on click of print button click
    public void printPDF(View view) {
    createWebPrintJob(myWebView);
    }
    }

  3. Create a xml activity_main.xml and update it-

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.pankaj.savepdffromwebview.MainActivity">

    <!--webview-->
    <WebView
    android:id="@+id/myWebView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"></WebView>

    <!--floating action button to print the webview content-->
    <android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_gravity="bottom|end"
    android:layout_margin="20dp"
    android:onClick="printPDF"
    android:src="@drawable/print"
    android:visibility="gone" />
    </RelativeLayout>

  4. All the application development process with Print/Save PDF from webview has completed, Now run the app and look the screen.









  5. Good bye, Thanks to read this blog.

Related Posts

No comments:

Post a Comment