我有一个获取Bitmap对象的函数,并使用设备的内置打印机进行打印。 我发送的位图是我在WebView中捕获的位图。 但我有一个问题: 它仅捕获高度的webview的一部分,这只是在必须向下滚动webview以查看剩余内容之前可见的部分。
....
webViewToPrint = (WebView)findViewById(R.id.webView2);
webViewToPrint.setInitialScale( 100 );
webViewToPrint.getSettings().setLoadWithOverviewMode(true);
webViewToPrint.getSettings().setUseWideViewPort(true);
webViewToPrint.getSettings().setJavaScriptEnabled(true);
webViewToPrint.loadDataWithBaseURL("", dataToPrintFinal, "text/html", "UTF-8", "");
webViewToPrint.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
view.postDelayed( new Runnable() {
@Override
public void run() {
Bitmap b = Bitmap.createBitmap( webViewToPrint.getWidth() , webViewToPrint.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas( b );
webViewToPrint.draw(canvas);
printPicture(b);
}},500);
}});
....
它也打印得太小而且走投无路(而不是在中心对齐)。