需要根据不同条件,给当前保单创建打印任务
List<PrintJob> result = new List<PrintJob>();
PrintJob printJob = new Kingdee.BOS.Core.NotePrint.PrintJob();
printJob.FormId = formId;
printJob.PrintJobItems = new List<Kingdee.BOS.Core.NotePrint.PrintJobItem>();
//官方得教程是表单,传入得是单据fid , 动态表单传入得是固定格式dynamicformpreview,templateId为套打ID
//这里就可以根据动态表单上不同得条件,传入不同得套打ID
printJob.PrintJobItems.Add(new PrintJobItem("dynamicformpreview", templateId));
result.Add(printJob);
// printJobsKey随机,任务得KEy,调用需要用
string printJobsKey = Guid.NewGuid().ToString();
this.View.Session[printJobsKey]=result
2. 启动打印
JSONObject jsonObj = new JSONObject();
jsonObj.Put("pageID", this.View.PageId);
//当前打印任务
jsonObj.Put("printJobId", printJobsKey);
//jsonObj.Put("printerAddress", "Doro PDF Writer"); 打印机地址
//JSAction.printPreview预览 ,JSAction.print 打印
this.View.AddAction(JSAction.printPreview, jsonObj);
3.动态表单因为后台没有数据需要自己构建,这里可以根据不同条件构建不同得模板数据
总结:所有功能都是来源于官方帖子得组合,唯一就是加任务时候遇到难题了,没找到动态表单怎么传入打印任务,后断点取当前界面任务查询到,纪录一下方便后面使用
printJob.PrintJobItems.Add(new PrintJobItem("dynamicformpreview", templateId));
推荐阅读
您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!
请选择打赏金币数 *