¿Cómo crear PDF desde webview en android?

Estoy mostrando la webpage en webview . Ahora, ¿cómo crear PDF desde webview ?

Por ejemplo: cargas de vista web La URL es "www.google.co.in" . Ahora cómo guardar esta página web como imagen y crear pdf ??

Cualquier ayuda sería apreciada

Intente esto

WebView tiene un método setPictureListener llamado setPictureListener Utilice ese método como a continuación

 webView1.setPictureListener(new PictureListener() { public void onNewPicture(WebView view, Picture picture) { if (picture != null) { try { bmp = pictureDrawable2Bitmap(new PictureDrawable( picture)); } catch (Exception e) { e.printStackTrace(); } } } }); 

Para la obtención de mapa de bits he utilizado pictureDrawable2Bitmap y aquí es que uno

 private static Bitmap pictureDrawable2Bitmap(PictureDrawable pictureDrawable) { Bitmap bitmap = Bitmap.createBitmap( pictureDrawable.getIntrinsicWidth(), pictureDrawable.getIntrinsicHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); canvas.drawPicture(pictureDrawable.getPicture()); return bitmap; } 

Ahora su mapa de bits está listo, Ahora configure el cliente de vista web como se indica a continuación

 webView1.setWebViewClient(new myWebClient()); 

Y aquí está myWebClient

 public class myWebClient extends WebViewClient { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { // TODO Auto-generated method stub super.onPageStarted(view, url, favicon); } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated method stub view.loadUrl(url); return true; } @Override public void onPageFinished(WebView view, String url) { // TODO Auto-generated method stub super.onPageFinished(view, url); Log.i("OnPageLoadFinished", url); img.setImageBitmap(bmp); } 

Como se muestra en la carga de la página terminado he fijado el mapa de imagen que es el broche de presión actual url en su webview

Ahora Bitmap está listo pasar ese mapa de bits a Pdf utilizando IText Library

Aquí está un ejemplo de la escritura pdf con la imagen en la función del uso de iText abajo para eso

 public void SimplePDFTable() throws Exception { File direct = new File(Environment.getExternalStorageDirectory() .getAbsolutePath() + "/AamirPDF"); if (!direct.exists()) { if (direct.mkdir()) { Toast.makeText(MainActivity.this, "Folder Is created in sd card", Toast.LENGTH_SHORT) .show(); } } String test = Environment.getExternalStorageDirectory() .getAbsolutePath() + "/AamirPDF"; Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream(test + "/mypdf.pdf")); document.open(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); bmp.compress(Bitmap.CompressFormat.PNG, 100, stream); byte[] byteArray = stream.toByteArray(); Image image = Image.getInstance(byteArray); image.scaleToFit(PageSize.A4.getHeight(), PageSize.A4.getWidth()); document.add(image); document.close(); } 

Buena suerte

A partir de la API 19 (KitKat), Android ahora le permite imprimir una vista web directamente. Además, la misma API de PrintManager se puede utilizar para generar un PDF desde una WebView sin bibliotecas externas.

Como muestra el código de ejemplo, sólo tiene que obtener el PrintManager , crear un PrintDocumentAdapter desde el WebView en cuestión, a continuación, crear un nuevo PrintJob y su usuario debe ver la opción para guardarlo en un archivo como PDF o imprimir en una impresora en la nube. En los androides más recientes que 4.4 también obtendrá una vista previa visual de lo que se imprimirá / PDF'd.

  • WebView en un cuadro de diálogo (carga de activos) y no presentado
  • Android WebView reproducir audio con javascript
  • Cómo obtener contenido html desde una webview?
  • Vista web de Android lenta
  • Android - Cómo ejecutar la intención de JavaScript
  • Cómo hacer un Scroll Listener para WebView en Android
  • Google Drive, el visor de pdf ya no funciona en android
  • Vista web de Android POST
  • WebView de Android manipula incorrectamente nuevas líneas en texto preformateado
  • Establecer una imagen de fondo para una vista web en Android
  • Mejorar el rendimiento de webView (debe tener el mismo rendimiento que el navegador web nativo)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.