需求描述:
我们的单据制作的时候,有大量的打印模板需要用 PDF 格式在后续流程使用。 但是私有部署的自定义模板打印之后,只能是.docx 的 word 文档。 这里分享下如何讲生成的 word 文档转换成 pdf 然后储存在附件。
需要第三方 API 接口,我是用的接口:度慧文档转 PDF。
实现过程:
- 先用自定义模板生成.docx 文件,并存入附件字段。
- 开始转换。
- 先用 webhook 节点,获取该记录的详情。。URL 需要去应用里面查看。再去找到获取行记录的地址和提交格式。然后 header 留空,body 用 raw 填写代码, 行记录 ID 用当前的记录 ID(测试的时候,你可以找个记录再新标签打开,地址 https://xxxx.com/xxxx/xxx/xxx/row/xxxxxxxx, 这个 row 后面这个就是 ID 然后查看 ID)。。然后用获取的 ID 去测试返回结构,。
然后去 API 文档里面找到对应字段,, 比如我的就是。 然后找到返回的数据,。 - 获取 docx 文件的路径信息。 我们收到的 API 返回的记录详情里面,找到那个字段的 jason 值如上图。 然后用代码去解析出路径信息。
var filepath =JSON.parse(input.filepath); var original_file_full_path = filepath[0].original_file_full_path; output = {original_file_full_path: original_file_full_path};
获取到路径。注意这里的路径是有验权的,不能直接传入 API 使用,需要先 encode 一下。 - 使用 JavaScript 代码块 encode 路径。
var uri = input.url; var encoded = encodeURIComponent(uri); output = {output:encoded};
- 接入 API 转换成 PDF.
- 用返回的 token 去回去生成的 PDF。
- 将获取到的 PDF 更新到附件字段。
大功告成
- 先用 webhook 节点,获取该记录的详情。。URL 需要去应用里面查看。再去找到获取行记录的地址和提交格式。然后 header 留空,body 用 raw 填写代码, 行记录 ID 用当前的记录 ID(测试的时候,你可以找个记录再新标签打开,地址 https://xxxx.com/xxxx/xxx/xxx/row/xxxxxxxx, 这个 row 后面这个就是 ID 然后查看 ID)。。然后用获取的 ID 去测试返回结构,。