如何在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条评论
登录后参与评论

相关文章

来自分类常见问题

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

来自分类Dev

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

来自分类Dev

如何在Android中从WebView创建PDF?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何在Android中显示WebView

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何在Android中自动执行Webview

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何在Android WebView中显示Gyfcat iframe

来自分类Dev

在android的webview中显示pdf

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何在PDF中创建水印

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

    如何在Android中从WebView创建PDF?

  4. 4

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

  5. 5

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

  6. 6

    如何在Android中显示WebView

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

    如何在Android中自动执行Webview

  14. 14

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

  15. 15

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

  16. 16

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

  17. 17

    如何在Android WebView中显示Gyfcat iframe

  18. 18

    在android的webview中显示pdf

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

    如何在PDF中创建水印

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

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

热门标签

归档