Wie erstelle ich PDF von webview in android?

Ich webview die webpage im webview . Wie kann man PDF aus Webview erstellen ?

Zum Beispiel: webview lädt URL ist "www.google.co.in" . Wie kann ich diese Webseite als Bild speichern und pdf erstellen?

  • Wie man den Vibrationsmodus wechselt, um durch den Audiomanager prinzmatisch zu klingeln
  • Android Proguard java.io.IOException: Kann nicht lesen [proguard.ClassPathEntry
  • Deaktivieren Sie Click-Ereignis auf Android ListView Items
  • Bluetooth RFCOMM-Verbindung konnte nicht nacheinander auf Android 4.2 hergestellt werden
  • Android "java.lang.RuntimeException: Parcelable encounteredClassNotFoundException liest ein Serialisierbares Objekt"
  • Wie überprüfe ich, dass HoneyComb oder höher läuft und dementsprechend eine Methode für diese Version nennt?
  • Irgendeine Hilfe würde geschätzt werden

  • TileProvider-Grafiken werden auf höheren Zoomstufen verzerrt
  • Android Emulator zeigt nicht die App zeigt nur die Haut
  • Doze-Modus und App-Standby
  • Wie bekomme ich die Android ID für einen Menüpunkt in Android?
  • Android: Gesamte ListView ändert Farbe auf Fokus, nicht nur ListView untergeordnetes Element
  • Wie man nicht beschleunigen Schnittstellen Methoden & es ist Parameter mit Progaurd in Android?
  • 2 Solutions collect form web for “Wie erstelle ich PDF von webview in android?”

    Versuche es so

    WebView haben eingebaute Methode namens setPictureListener Verwenden Sie diese Methode wie unten

     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(); } } } }); 

    Für das Erhalten von Bitmap habe ich pictureDrawable2Bitmap und hier ist das ein

     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; } 

    Jetzt ist dein Bitmap fertig, jetzt setze Webview Client als unten

     webView1.setWebViewClient(new myWebClient()); 

    Und hier ist 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); } 

    Wie auf Seite geladen beendet, habe ich Bild-Bitmap gesetzt, die Snap der aktuellen geladenen URL auf Ihrem Webview ist

    Jetzt ist Bitmap bereit, diese Bitmap zu Pdf mit IText Library zu übergeben

    Hier ist ein Beispiel für das Schreiben von pdf mit Bild auf iText Use Below-Funktion dafür

     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(); } 

    Viel Glück

    Ab API 19 (KitKat) können Sie jetzt ein Webview direkt drucken . Darüber hinaus kann die gleiche PrintManager- API verwendet werden, um ein PDF aus einer WebView ohne externe Bibliotheken zu generieren.

    Wie der Beispielcode zeigt, bekomm einfach den PrintManager , einen PrintDocumentAdapter aus dem WebView erstellen und dann einen neuen PrintJob erstellen und dein Benutzer soll die Option sehen, ihn in eine Datei als PDF zu speichern oder auf einen Cloud-Drucker zu drucken. Auf neueren Androiden als 4.4 erhalten sie auch eine visuelle Vorschau, was gedruckt wird / PDF'd.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.