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

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

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

  • Android:LinearLayout addViewanimation
  • 尝试使用getChildAt()取消选择视图
  • 具有scale属性的ObjectAnimator使bg黑色?
  • 从其他视图拖动时检测视图上的触摸事件
  • 显示键盘时DialogFragment不能resize
  • 填充不适用于某些背景资源
  • 为什么一些android代码有公共字段?
  • ContentLoadingProgressBar的示例用法
  • 在清单文件中添加权限

    <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");