需求:Android打印固定格式的表单。
过程:制作word模板,进行数据填充,打印输出。
步骤一
制作word模板
遇到问题:直接使用word编辑好的模板会导致打印出来后,部分占位符未被替换。因为word保存时会将占位符的标签分割,如下图:
应修正为
具体步骤为:将编辑好的文档“现场检查笔录.docx”,保存为“现场检查笔录.xml”,使用notepad++打开后,进行修正,当然notepad++需要安装xml tool插件进行格式调整。修正后保存为“现场检查笔录.docx”。模板即完成。
打印输出代码如下:
private void initData(InspectionBean.RowsBean bean) {
Map<String, Object> map = new HashMap<String, Object>();
if(null != bean){
map.put("$checkTimeStart$", bean.getCheckTimeStart()==null ?"":bean.getCheckTimeStart().substring(0,bean.getCheckTimeStart().indexOf(".")));
map.put("$checkTimeEnd$", bean.getCheckTimeEnd()==null ?"":bean.getCheckTimeEnd().substring(0,bean.getCheckTimeEnd().indexOf(".")));
map.put("$inspectedAdd$", bean.getInspect