苍穹V4.0打印接口文档

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

苍穹V4.0打印接口文档

1 简介

在打印需求中,二开由于某些具体需求,不希望通过绑定打印操作直接打印,希望在代码中调用打印接口,实现自己的业务需求

例如1:单据提交后,直接调用打印接口,并把打印生成的文件保存下来



2 适用版本

金蝶云苍穹V4.0.016

3 获取表单对应的打印模板接口

获取模板接口 


接口一:

适用版本:暂未发布,预计V6.0.005及以上版本发布

PrintTemplateInfo tpl =  PrintTemplateServiceFactory.getService().getPrintTemplate(Long userId, Long formId)


参数说明


参数名称

类型

必填

说明

userId

Long

当前登录用户的id

formIdString表单id



 返回结果

PrintTemplateInfo对象

参数值

类型

非空

说明

formId
String表单id
printerIdLong打印机id
printLangString打印语言
defaultTplIdString默认模板id
tplListList<TemplateInfo>有权的模板


TemplateInfo对象

参数值

类型

非空

说明

idString打印模板id
name
String打印模板名称
typeString打印模板类型('A'是旧模板,'B'是新模板)


接口二:

适用版本: V6.0.002之前的版本

//通过表单标识和应用标识获取当前表单打印模板,key-模板id,value 模板名称 

Map<String,String> templateMap = PrintTemplateServiceFactory.getService().getUserPermPrintTemplateMap(formId,appId);




4 通过模板编码获取模板ID接口

服务调用

String tplId = BosPrintServiceHelper.getTplIdByNum(String tplNum)

参数说明

 

参数名称

类型

必填

说明

tplNum

String

模版编码

 

返回结果

对应的模版ID,如果返回null,则表示传递的模版编码找不到对应的模版。


5 通过多个模板编码批量获取模板ID接口


服务调用

Map<String,String> tplIdMap = BosPrintServiceHelper.getTplIdByNum(List<String> tplids)

参数说明

 

参数名称

类型

必填

说明

tplids

String

模版编码

 

返回结果

返回Map对象。

如传递Arrays.asList(prt01,prt02,xxx)  返回结果如下则表示,xxx未找到对应的模版,不返回,匹配到的返回 key: 模版编码,value: 模版名称

{

  “prt01: Id1,

  “prt02: id2

}


6  打印接口


服务调用

接口一:

PrtAttach prtAttach = BosPrintServiceHelper.execPrint(PrintWork work) 

适用版本: V5.0.011,V5.0.019以上版本


接口二:

适用版本: V5.0.011,V5.0.019以上版本废弃,建议使用上面的execPrint接口

PrtAttach prtAttach = BosPrintServiceHelper.doPrint(PrintWork work)  



参数说明

PrintWork 参数说明

 

参数名称

类型

必填

说明

pageId

String

页面pageid.如报表等,插件内需要根据pageId获取数据,则必传

printLang

String

打印语言

expType

String

导出类型(pdf,xls)

isVerEconomizePaper

Boolean

是否纵向节纸

isHorEconomizePaper

Boolean

是否横向节纸

taskList

List<PrintTask>

打印任务,一个模版对应一个PrintTask。一个PrintTask. 参考参数PrintTask

extParam

Map

扩展参数.

 

 

PrintTask 参数说明

 

参数名称

类型

必填

说明

tplId

String

模版ID

pkIds

List<Object>

单据,基础资料等数据内码

 

返回结果

PrtAttach 对象

参数值

类型

非空

说明

taskId

String

每次任务对应一个taskId

formId

String

表单编码

appId

String

应用编码

userId

String

操作用户id

orgId

String

表单所属组织id

diskType
String文件存贮类型(0附件服务器,2临时文件)

attachDetails

List<AttachDetail>

打印结果附件信息。详情见AttachDetail

 

 

 

AttachDetail对象

 

参数值

类型

非空

说明

attachId

String

附件id

fileName

String

附件名称

filePath

String

附件路径

fileType

String

附件类型 pdf, xlsx

source

String

附件来源

A 旧打印
B 新打印


7 直接打印接口

服务调用

PrtAttach prtAttach = BosPrintServiceHelper.doPrintDirect(String printerId,PrintWork work)

服务说明

调用该接口,系统将自动将打印结果添加到云打印任务,配合云打印,可自动发送到打印机

参数说明

1. printerId 打印机id

2.  work见6中PrintWork参数

 

返回结果

 

8 获取打印文件流

服务调用

InputStream inputStream = BosPrintServiceHelper.getFileInputStream(String filePath)

适用版本

V5.0.011及V5.0.019及之后版本

参数说明

 

参数名称

类型

必填

说明

filePath

String

文件路径标识,传打印接口返回值:PrtAttach.AttachDetail.filePath

 

返回结果

文件流

服务调用

InputStream inputStream = FileServiceFactory.getAttachmentFileService().getInputStream(filePath);

适用版本

V4.0.xx版本

参数说明

 

参数名称

类型

必填

说明

filePath

String

文件路径标识,传打印接口返回值:PrtAttach.AttachDetail.filePath


返回结果

文件流




9 如何下载打印文件

文件访问路径

String url = UrlService.getDomainContextUrl()+"/api/print/download.do?taskId=%s&attachId=%s"

调用苍穹接口,向前端发生指令访问打印文件

this.getView().openUrl(url);


10 获取打印机id

服务调用

Long printerId = BosPrintServiceHelper.getPrinterId(Long userId, Long formId)

适用版本

V6.0版本

参数说明

 

参数名称

类型

必填

说明

userId

Long

当前登录用户的id

formIdString表单id

 返回结果

打印机id


11 获取打印机语言

服务调用

String printLan = BosPrintServiceHelper.getPrintLang(Long userId, Long formId)

适用版本

暂未发布,预计V6.0.003及以上版本发布

参数说明

 

参数名称

类型

必填

说明

userId

Long

当前登录用户的id

formIdString表单id

 返回结果

用户设置的打印机语言

苍穹V4.0打印接口文档

1 简介在打印需求中,二开由于某些具体需求,不希望通过绑定打印操作直接打印,希望在代码中调用打印接口,实现自己的业务需求例如1:单据...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息