如何在Android中从WebView创建PDF?

哈迪克·乔希

我显示webpagewebview现在如何从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;
    }

现在您的位图已准备就绪,现在按如下所示设置Webview客户端

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

如页面加载完成所示,我已设置图像位图,它是您的Webview上当前加载的URL的快照

现在,位图已准备就绪,可以使用IText库将该位图传递给Pdf。

这是一个在iText上使用以下功能在图像上写pdf的示例

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

}

祝你好运

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Android中从WebView创建PDF?

来自分类Dev

如何在Android中显示WebView

来自分类Dev

如何在Android中自动执行Webview

来自分类Dev

如何在PDF中创建水印

来自分类Dev

Android Webview:如何在Webview中复制选定的文本。

来自分类Dev

如何使用 WebView 或 AnyConcept 从 android 的内部存储中获取 pdf

来自分类Dev

在android的webview中显示pdf

来自分类Dev

如何在Android中的WebView中设置文本大小

来自分类Dev

如何在Android中删除WebView中的缓存?

来自分类Dev

如何在Android中删除WebView中的缓存?

来自分类Dev

如何在 Android 中的 WebView 中拟合图像

来自分类常见问题

如何在Android WebView中禁用内容安全策略?

来自分类Dev

Android-Javascript:如何在WebView中执行jQuery

来自分类Dev

如何在Android的WebView中播放Dailymotion视频

来自分类Dev

如何在Android中停止WebView的内部滚动?

来自分类Dev

如何在webView Android中居中显示内容?

来自分类Dev

如何在Android WebView中实现phonegap / cordova?

来自分类Dev

如何在Android WebView中更改iframe大小?

来自分类Dev

如何在WebView Android中检测按钮单击?

来自分类Dev

如何在WebView Android中登录后重定向URL

来自分类Dev

如何在Android WebView中启用jQuery单击事件

来自分类Dev

如何在Android WebView中强制显示深色网页?

来自分类Dev

如何在Android WebView中显示Gyfcat iframe

来自分类Dev

如何在Android中隐藏取消隐藏的WebView

来自分类Dev

IBM Worklight-如何在Android中启用WebView调试?

来自分类Dev

如何在WebView Android中获取网页的颜色

来自分类Dev

如何在android中获取webview的当前活动

来自分类Dev

如何在WebView Android中检测按钮单击?

来自分类Dev

如何在Android Studio中处理WebView点击事件?

Related 相关文章

  1. 1

    如何在Android中从WebView创建PDF?

  2. 2

    如何在Android中显示WebView

  3. 3

    如何在Android中自动执行Webview

  4. 4

    如何在PDF中创建水印

  5. 5

    Android Webview:如何在Webview中复制选定的文本。

  6. 6

    如何使用 WebView 或 AnyConcept 从 android 的内部存储中获取 pdf

  7. 7

    在android的webview中显示pdf

  8. 8

    如何在Android中的WebView中设置文本大小

  9. 9

    如何在Android中删除WebView中的缓存?

  10. 10

    如何在Android中删除WebView中的缓存?

  11. 11

    如何在 Android 中的 WebView 中拟合图像

  12. 12

    如何在Android WebView中禁用内容安全策略?

  13. 13

    Android-Javascript:如何在WebView中执行jQuery

  14. 14

    如何在Android的WebView中播放Dailymotion视频

  15. 15

    如何在Android中停止WebView的内部滚动?

  16. 16

    如何在webView Android中居中显示内容?

  17. 17

    如何在Android WebView中实现phonegap / cordova?

  18. 18

    如何在Android WebView中更改iframe大小?

  19. 19

    如何在WebView Android中检测按钮单击?

  20. 20

    如何在WebView Android中登录后重定向URL

  21. 21

    如何在Android WebView中启用jQuery单击事件

  22. 22

    如何在Android WebView中强制显示深色网页?

  23. 23

    如何在Android WebView中显示Gyfcat iframe

  24. 24

    如何在Android中隐藏取消隐藏的WebView

  25. 25

    IBM Worklight-如何在Android中启用WebView调试?

  26. 26

    如何在WebView Android中获取网页的颜色

  27. 27

    如何在android中获取webview的当前活动

  28. 28

    如何在WebView Android中检测按钮单击?

  29. 29

    如何在Android Studio中处理WebView点击事件?

热门标签

归档