我有一个显示精美条形图的 Web 视图。我基本上需要对其进行截图(整个 HTML 文档,而不仅仅是 webview 控件中当前可见的区域)并将其填充到 PDF 中。HTML 文件由我的应用程序生成,因此我可以添加任何我想要的内容。使用 PDF 也不是问题。
问题是如何将呈现的 HTML 文档作为位图抓取?关于高级方法的想法会有所帮助。
请注意,HTML 图形是使用 DHTML 而不是画布完成的,因此此处描述的解决方案不适用
如果您可以使用流为生成的图像开始生成 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 就是一个例子。