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?

  • Set Timeout Dialog in Android?
  • GoogleApiClient wirft "GoogleApiClient ist noch nicht verbunden" AFTER onConnected Funktion wird aufgerufen
  • Die Tastatur kann nicht im Android Emulator verwendet werden
  • Eclipse DDMS-Fehler "Kann nicht an lokale 8600 für Debugger binden"
  • Android - Keystore-Passwort vergessen Kann ich die Keystore-Datei entschlüsseln?
  • Erstellen Sie Android-Bibliothek AAR einschließlich Javadoc und Quellen
  • Irgendeine Hilfe würde geschätzt werden

  • Android PopupWindow Höhe zeigt keinen Schatten
  • Wie man Screenshot in Android Emulator zu nehmen
  • Kann nicht C ++ - Header wie Vektor in Android NDK enthalten
  • Android-Schlaf () ohne die Benutzeroberfläche zu blockieren
  • Umwandlung in Dalvik-Format fehlgeschlagen: Dex SDK-Tools nicht ausführen 22.3
  • Android Black Screenshot in DDMS: Problem? Oder Sicherheitsgründe?
  • 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.