打印WebView的内容

时间:2013-01-04 19:49:29

标签: android

我有一个显示精美条形图的Web视图。我需要基本上截取它(整个HTML文档,而不仅仅是webview控件中当前可见的区域)并将其填充到PDF中。 HTML文件是由我的应用程序生成的,因此我可以添加任何我想要的内容。使用PDF也不是问题。

问题是如何将渲染的HTML文档作为位图抓取?关于高层次方法的想法会有所帮助。

请注意,HTML图表是使用DHTML而不是画布完成的,因此描述的解决方案here不适用

1 个答案:

答案 0 :(得分:0)

如果你可以使用stream生成pdf,从生成的图像开始,路径就是:

Picture picture = webView.capturePicture();
Bitmap  b = Bitmap.createBitmap(picture.getWidth(), picture.getHeight(), 
                                Bitmap.Config.ARGB_8888);

Canvas c = new Canvas( b );        
picture.draw( c );

FileOutputStream out = null;
byte[] byteArchadeImage = null;

try {
    out = new FileOutputStream(new File("/sdcard/snapshot/view-cutted.jpg"));

    if ( out != null ) {
        b.compress(Bitmap.CompressFormat.JPEG, 100, out);
        out.flush();
        out.close();
    }
} catch( Exception e ) {
    Log.e("MSG", e.getLocalizedMessage());    
}          

您可以使用任何在android上运行的pdf生成工具重定向流以生成pdf。我相信iText就是其中的一个样本。