2013-01-04 164 views
1

我有一个显示花哨条形图的网页视图。我需要基本上截取它(整个HTML文档,不只是在webview控件中可见的区域)并将其填充到PDF中。 HTML文件由我的应用程序生成,所以我可以添加任何我想要的。使用PDF也不是问题。打印WebView的内容

问题是我该如何去抓取呈现的HTML文档作为位图?高层次方法的想法会有所帮助。

注意,HTML图形与DHTML,而不是画布上完成,这样的解决方案描述here不适

+1

如果对这个问题的第二个答案 - 使用'capturePicture()' - 不适用,那么你在设备AFAIK上做任何事情都是不好的。 – CommonsWare

回答

0

如果你可以使用流,用于生成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());  
}   

您可以使用任何工具重定向pdf生成流,以便在android上运行pdf生成工具。我相信iText就是一个例子。