package document_request
import (
"git.sxidc.com/student-physical-examination/contract_lock_sdk/http"
"os"
)
type DocumentCreatebyofdRequest struct {
// core:true 【签署文档】签署文档 【作用】 用于上传本地文件,文件上传后系统将自动将文档转换为OFD格式,方便后续进行签署 【传参】 1、支持的文件格式:pdf,doc,docx,wps,rtf,png,gif,jpg,jpeg,tiff,tif,xls,xlsx,txt,ofd,dwg,ppt,pptx。 2、若上传CAD图纸(dwg格式),请先开启【电子签章管理后台-自定义配置DWG_SWITCH】。 3、当上传的文档为PDF时,PDF的版本需要>1.3;上传签署文档大小限制可在【电子签章管理后台-电子用印设置-文件上传限制】进行配置。 4、签署文档(file)和base64字符串(base64Str)不能同时为空,均传入以签署文档为准。 【特殊说明】 若电子签章管理后台配置签署文件仅允许上传指定格式文件,则此参数对应仅允许传入限定格式的本地文件
File *os.File `json:"file,omitempty"`
// core:true 【签署文档名称】签署文档名称 【作用】 用于传入上传的签署文档的名称
Title string `json:"title"`
// core:true 【预览页展示下载按钮】预览页展示下载按钮 【传参】 取值范围:true(展示),false(不展示);不传值默认为:false(不展示)。
ViewDownload string `json:"viewDownload,omitempty"`
// core:true 【签署文档类型】签署文档类型 【作用】 不同类型的文件转换方式不一样,需要传入类型进行文件转换,传入的类型需要与本地文件一致 【传参】 取值范围:pdf,doc,docx,wps,rtf,png,gif,jpg,jpeg,tiff,tif,xls,xlsx,txt,ofd,dwg,ppt,pptx,ofd。
FileType string `json:"fileType,omitempty"`
// core:true 【文档宽度】文档宽度 【传参】 1、单位:毫米。 2、传值不为空时(height同时不为空)按照传入的值生成文件 3、如果值为负数则生成的文件和原始文件相比会上下翻转 4、不传值时按照如下规则处理 (1)图片:按照A4的尺寸,同时根据图片宽高比,决定横竖版 宽<高:竖版;宽>高:横板
(2)txt格式:按照A4(210,297)竖版尺寸生成签署文档 (3)xls、xlxs格式:按照A4尺寸,根据表格内容宽高比,决定横竖版; 整体内容 宽<高:竖版;整体内容宽>高:横板 (4)pdf、doc、docx、wps格式:按照文件本身的尺寸和横竖样式生成签署文档
Width *float64 `json:"width,omitempty"`
// core:true 【文档高度】文件高度 【传参】 1、单位:毫米。 2、传值不为空时(width同时不为空)按照传入的值生成文件 3、如果值为负数则生成的文件和原始文件相比会上下翻转 4、不传值时按照如下规则处理 (1)图片:按照A4的尺寸,同时根据图片宽高比,决定横竖版 宽<高:竖版;宽>高:横板
(2)txt格式:按照A4(210,297)竖版尺寸生成签署文档 (3)xls、xlxs格式:按照A4尺寸,根据表格内容宽高比,决定横竖版; 整体内容 宽<高:竖版;整体内容宽>高:横板 (4)pdf、doc、docx、wps格式:按照文件本身的尺寸和横竖样式生成签署文档
Height *float64 `json:"height,omitempty"`
// 【文件旋转角度】文件旋转角度 【作用】 1、可旋转文档角度,以文档页面中心进行旋转。 2、对于含有电子签名的pdf文件不做处理。 3、正数表示顺时针旋转,负数表示逆时针旋转。 【传参】 取值范围:90 ,180,270,-90,-180,-270。
Angle *float64 `json:"angle,omitempty"`
// core:true 【base64字符串】base64字符串 【作用】 用于传入base64字符串格式文件,系统将把base64字符串转换为OFD格式文件,方便后续进行签署 【传参方式】 签署文档(file)和base64字符串(base64Str)不能同时为空,均传入以签署文档为准。
Base64Str string `json:"base64Str,omitempty"`
// core:true 【需合并的OFD文档id】需合并的OFD文档id 【作用】 1、系统支持对已经签署过的文档追加文件内容(追加文件上不能有数字签名),合并生成1份新的OFD文档进行签署,并保证新文档验签有效; 2、例如:在公共资源交易、建筑工程等招投标项目中,为确保项目关键信息不外泄,银行、保险公司等担保机构往往需要先在加密保函上盖章,等待项目开标时,追加一份明文保函合并为新的文档,并新发起一份新的电子签约再次盖章,将追加合并后的保函回传至交易中心系统中进行现场核验; 3、通过本参数可传入需已经签署过的OFD文档id(如:加密保函),同时将参数file或base64Str传入的未签署的文档(如:明文保函)与本参数传入的文档合并创建新的1份文档 【特殊说明】 1、传入的签署文档在创建/发起电子签约时需在【用印流程-高级配置-文件签署】中开启“允许OFD文档追加文件内容”,否则无法追加成功 2、“OFD文档追加内容”为付费功能,请在开启时使用
DocumentId string `json:"documentId,omitempty"`
}
func (obj DocumentCreatebyofdRequest) GetUrl() string {
return "/document/createbyofd"
}
func (obj DocumentCreatebyofdRequest) GetHttpParameter() *http.HttpParameter {
parameter := http.NewPostHttpParameter()
parameter.AddParam("title", obj.Title)
parameter.AddParam("viewDownload", obj.ViewDownload)
parameter.AddParam("fileType", obj.FileType)
parameter.AddParam("width", obj.Width)
parameter.AddParam("height", obj.Height)
parameter.AddParam("angle", obj.Angle)
parameter.AddParam("base64Str", obj.Base64Str)
parameter.AddParam("documentId", obj.DocumentId)
parameter.AddFiles("file", obj.File)
return parameter
}