求大神解答:android 表单打印问题。

Android · mutou · 于 发布 · 最后由 mutou回复 · 234 次阅读
3600 1483618775

这是我用安卓自己编写了一个表格,如果我想把整个表格通过手机连接其他打印设备打印出来,我该怎么做?

这个页面我该如何处理?

跪求大神解答!!!!

共收到 5 条回复
3600 1483618775
mutou · #1 ·

打印范围 从指导员一直到评价备注

96

view 转图片,打印图片

3600 1483618775
mutou · #3 ·

#2楼 @anonymoush 谢谢,我这个菜鸟受教了,灰常感谢!!!!

3600 1483618775
mutou · #4 ·

////////////////以下是获取布局并保存 start ////////////
view = findViewById(R.id.l_dy); //获取布局控件属性
//下面2行必须加入,如果不加如l_dy.getDrawingCache()返回null
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();

dayin_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mHandler.postDelayed(new Runnable() {

@Override
public void run() {
// 要在运行在子线程中
final Bitmap bmp = view.getDrawingCache(); // 获取图片
savePicture(bmp, "test.jpg");// 保存图片
view.destroyDrawingCache(); // 保存过后释放资源
}
},100);

}
});
////////////////以下是获取布局并保存 start ////////////
}
//保存图片
private void savePicture(Bitmap bmp, String fileName) {
Log.i("tq", "savePicture: ------------------------");
if (null == bmp) {
Log.i("tq", "savePicture: ------------------图片为空------");
return;
}
File foder = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/test");
if (!foder.exists()) {
foder.mkdirs();
}
File myCaptureFile = new File(foder, fileName);
try {
if (!myCaptureFile.exists()) {
myCaptureFile.createNewFile();
}
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(myCaptureFile));
//压缩保存到本地
bmp.compress(Bitmap.CompressFormat.PNG, 90, bos);
bos.flush();
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
Toast.makeText(this, "保存成功!", Toast.LENGTH_SHORT).show();
}

3600 1483618775
mutou · #5 ·

刚上传的的代码是可以的

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册