DocumentCreatebyfilesRequest.go 5.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package document_request
  2. import (
  3. "encoding/json"
  4. "git.sxidc.com/student-physical-examination/contract_lock_sdk/http"
  5. "git.sxidc.com/student-physical-examination/contract_lock_sdk/model/common"
  6. "os"
  7. )
  8. type DocumentCreatebyfilesRequest struct {
  9. // <ext>core:true</ext> 【签署文档】签署文档 【作用】 用于上传本地文件,文件上传后系统将自动将文档转换为PDF格式,方便后续进行签署 【传参】 1、支持的文件格式:pdf,doc,docx,wps,rtf,png,gif,jpg,jpeg,tiff,xls,xlsx,txt,ofd,dwg,ppt,pptx。 2、若上传CAD图纸(dwg格式),请先开启电子签章管理后台-自定义配置DWG_SWITCH。 3、当上传的文档为PDF时,PDF的版本需要>1.3;上传签署文档大小限制可在电子签章管理后台-电子用印设置-文件上传限制进行配置。 【特殊说明】 若电子签章管理后台配置签署文件仅允许上传指定格式文件,则此参数对应仅允许传入限定格式的本地文件
  10. Files []*os.File `json:"files"`
  11. // <ext>core:true</ext> 【签署文档名称】签署文档名称 【作用】 用于传入上传的签署文档的名称
  12. Title string `json:"title"`
  13. // <ext>core:true</ext> 【文档宽度】文件宽度 【传参】 1、单位:毫米。 2、传值不为空时(height同时不为空)按照传入的值生成文件 3、如果值为负数则生成的文件和原始文件相比会左右翻转 4、不传值时按照如下规则处理 (1)图片:按照A4的尺寸,同时根据图片宽高比,决定横竖版 宽<高:竖版;宽>高:横板 (2)txt格式:按照A4(210,297)竖版尺寸生成签署文档 (3)xls、xlxs格式:按照A4尺寸,根据表格内容宽高比,决定横竖版; 整体内容 宽<高:竖版;整体内容宽>高:横板 (4)pdf、doc、docx、wps格式:按照文件本身的尺寸和横竖样式生成签署文档
  14. Width *float64 `json:"width,omitempty"`
  15. // <ext>core:true</ext> 【文档高度】文件高度 【传参】 1、 单位:毫米。 2、传值不为空时(width同时不为空)按照传入的值生成文件 3、如果值为负数则生成的文件和原始文件相比会上下翻转 4、不传值时按照如下规则处理 (1)图片:按照A4的尺寸,同时根据图片宽高比,决定横竖版 宽<高:竖版;宽>高:横板 (2)txt格式:按照A4(210,297)竖版尺寸生成签署文档 (3)xls、xlxs格式:按照A4尺寸,根据表格内容宽高比,决定横竖版; 整体内容 宽<高:竖版;整体内容宽>高:横板 (4)pdf、doc、docx、wps格式:按照文件本身的尺寸和横竖样式生成签署文档
  16. Height *float64 `json:"height,omitempty"`
  17. // <ext>inner-type:Json<WaterMarkContent[]></ext> 【文件水印】文件水印 【作用】 1、可在签署文档上添加水印,允许传入多组水印 2、若新增的文件已添加数字签名,因添加文件水印会篡改文件导致数字签名失效,故文件水印不会生效
  18. WaterMarks string `json:"waterMarks,omitempty"`
  19. // <ext>inner-type:Json<StampWaterMarkContent[]></ext> 【印章水印】印章水印 【作用】 1、可在印章外观上添加水印,防止签署文件上的印章被抠章后二次使用,允许传入多组水印 2、印章水印将会与该签署文档绑定,后续在这份文档上进行签章时,发起方下的所有内部签署方使用的印章外观会自动添加水印
  20. StampWaterMarks string `json:"stampWaterMarks,omitempty"`
  21. // 【预览页展示下载按钮】预览页展示下载按钮 【传参】 取值范围:true(展示),false(不展示);不传值默认为:false(不展示)。
  22. ViewDownload string `json:"viewDownload,omitempty"`
  23. // 【链接有效期】链接有效期 【作用】 1、用于设置获取到的链接在多长时间后过期 2、参数不传值时,链接有效期取电子签章管理后台设置的“接口页面默认有效期 3、参数传入时长超过电子签章管理后台设置的“接口页面最大有效期天数”时,将以后台设置的有效期为准 【传参】 最小值:1。单位:秒。
  24. ExpireTime *int64 `json:"expireTime,omitempty"`
  25. StampWaterMarksObject []*common.DocumentStampWaterMarkContent `json:"stampWaterMarksObject,omitempty"`
  26. WaterMarksObject []*common.DocumentWaterMarkContent `json:"waterMarksObject,omitempty"`
  27. }
  28. func (obj DocumentCreatebyfilesRequest) GetUrl() string {
  29. return "/document/createbyfiles"
  30. }
  31. func (obj DocumentCreatebyfilesRequest) GetHttpParameter() *http.HttpParameter {
  32. parameter := http.NewPostHttpParameter()
  33. parameter.AddParam("title", obj.Title)
  34. parameter.AddParam("width", obj.Width)
  35. parameter.AddParam("height", obj.Height)
  36. parameter.AddParam("viewDownload", obj.ViewDownload)
  37. parameter.AddParam("expireTime", obj.ExpireTime)
  38. parameter.AddListFiles("files", obj.Files)
  39. if obj.StampWaterMarksObject != nil {
  40. jsonBytes, _ := json.Marshal(obj.StampWaterMarksObject)
  41. parameter.AddParam("stampWaterMarks", string(jsonBytes))
  42. } else {
  43. parameter.AddParam("stampWaterMarks", obj.StampWaterMarks)
  44. }
  45. if obj.WaterMarksObject != nil {
  46. jsonBytes, _ := json.Marshal(obj.WaterMarksObject)
  47. parameter.AddParam("waterMarks", string(jsonBytes))
  48. } else {
  49. parameter.AddParam("waterMarks", obj.WaterMarks)
  50. }
  51. return parameter
  52. }