Я показываю webpage в webview. Теперь  как создать PDF из webview?
Например: URL-адрес загрузки веб-страниц "www.google.co.in". Теперь, как сохранить эту веб-страницу как изображение и создать pdf?
любая помощь будет оценена
Я показываю webpage в webview. Теперь  как создать PDF из webview?
Например: URL-адрес загрузки веб-страниц "www.google.co.in". Теперь, как сохранить эту веб-страницу как изображение и создать pdf?
любая помощь будет оценена
Попробуйте это
WebView имеет встроенный метод под названием setPictureListener Используйте этот метод, как показано ниже
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();
                    }
                }
            }
        });
Для получения растрового изображения я использовал pictureDrawable2Bitmap и вот что
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;
    }
Теперь ваш битмап готов, теперь установите клиент веб-просмотра ниже
webView1.setWebViewClient(new myWebClient());
И вот 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);
        }
Как показано на загруженной странице, я установил растровое изображение изображения, которое является привязкой текущего загруженного URL-адреса на вашем веб-просмотре
Теперь битмап готов передать растровое изображение в Pdf, используя библиотеку IText
Вот пример написания pdf с изображением на iText Используйте функцию ниже для этого
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();
}
Удача
Начиная с API 19 (KitKat), Android теперь позволяет распечатать веб-просмотр напрямую. Более того, тот же PrintManager API может использоваться для создания PDF файла из WebView без каких-либо внешних библиотек.
Как показывает пример кода, просто запустите PrintManager, создайте PrintDocumentAdapter из WebView, затем создайте новый PrintJob, и ваш пользователь должен увидеть, как сохранить его в файл в формате PDF или распечатать на облачном принтере. На новых андроидах, чем в 4,4, они также получат визуальный предварительный просмотр того, что будет напечатано/PDF'd.