如何保存布局视图为图像或PDF格式的SD卡在Android?

在我的应用程序中,我有一个客户详细信息的视图,我想将视图保存为图像或PDF到SD卡,然后通过第三方应用程序打印视图(否则直接通过打印机打印视图是可能的)。

我不知道如何将视图保存为图像或PDF。 任何人都可以知道请帮我解决这个问题吗?

Solutions Collecting From Web of "如何保存布局视图为图像或PDF格式的SD卡在Android?"

在清单文件中添加权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

使用下面的代码

 LinearLayout content = findViewById(R.id.rlid); content.setDrawingCacheEnabled(true); Bitmap bitmap = content.getDrawingCache(); File file,f; if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) { file =new File(android.os.Environment.getExternalStorageDirectory(),"TTImages_cache"); if(!file.exists()) { file.mkdirs(); } f = new File(file.getAbsolutePath()+file.seperator+ "filename"+".png"); } FileOutputStream ostream = new FileOutputStream(f); bitmap.compress(CompressFormat.PNG, 10, ostream); ostream.close(); } catch (Exception e){ e.printStackTrace(); } 

上面的代码工作正常,但是,由于同名的图像覆盖,所以,为了避免这个问题添加下面的行:

 SimpleDateFormat formatter = new SimpleDateFormat("yyyy_MM_dd_hh_mm_ss"); Date now = new Date(); String fileName = formatter.format(now); f = new File(file.getAbsolutePath()+file.separator+ "image_"+fileName+".png");