You use iText® under AGPL license for opensource project to create and manipulate pdf documents
// for iText library import this packages import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.html.simpleparser.HTMLWorker; // simple parser html import com.itextpdf.text.pdf.PdfWriter; import com.itextpdf.text.Paragraph; // start code @SuppressLint({"SetJavaScriptEnabled","JavascriptInterface"}) public class MainActivity extends Activity { public WebView webView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // source activity_main.xml webView = (WebView) findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); webView.addJavascriptInterface(new WebAppInterface(this), "Android"); webView.setWebViewClient(new WebViewClient()); // important set Web Chrome Client webView.setWebChromeClient(new WebChromeClient()); webView.loadUrl(url); //local or remote } // final class for save and write file in external storage final class WebAppInterface { Context mContext; /** Instantiate the interface and set the context */ WebAppInterface(Context c) { mContext = c; } @SuppressWarnings("deprecation") public void writeToPdf(String data, String filename, String tag) { try { File root = android.os.Environment.getExternalStorageDirectory(); File dir = new File (root.getAbsolutePath() + "/folderpdf/"); dir.mkdirs(); File file = new File(dir, filename + ".pdf"); try { Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream(file)); document.open(); @SuppressWarnings("deprecation") document.add(new Paragraph(data)); // if you want to set Font and Alignment // This tutoria is getting started // for all advanced settings you consult documentation iText /* if you want to parse html data use this code HTMLWorker htmlWorker = new HTMLWorker(document); htmlWorker.parse(new StringReader(data)); */ document.close(); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (IOException e) { Log.e(tag, "File write failed: " + e.toString()); } } } } // Now open html file in www folder ...