Appearance
部署文档打印工具
文档打印工具提供更好的打印效果,可以实现与office办公软件几乎一致的打印效果。并且可以支持批量打印(注意:转换过程会耗费较多系统资源,对内存和CPU消耗较大)
提示
如果不安装文档打印工具,系统将采用默认打印方式,由于解析方式的差异,无法保证打印的效果
1.创建配置文件:print.json
配置参数说明
bash
HTTP_PORT # 【必填】http协议端口号(非必要情况请勿修改端口号,保持为:18086)
INSTANCE_NUM # 【可选】服务实例数量,默认为2(数量越大并发处理能力越强,资源消耗越大,建议不要设置超过16)
TO_JPG_SECRET # 【可选】将 PDF 转为 JPG 的接口调用秘钥(只有当秘钥正确时才允许调用,防止接口被恶意调用)文件内容示例
json
{
"HTTP_PORT": 18086,
"INSTANCE_NUM": 2,
"TO_JPG_SECRET": "this is secret"
}1.1.一键创建
下方参数后,将其复制粘贴至命令行,敲击回车键即可
bash
cat > /etc/hzy/print.json <<- EOF
{
"HTTP_PORT": 18086,
"INSTANCE_NUM": 2,
"TO_JPG_SECRET": "this is secret"
}
EOF如何验证执行结果?
命令行输入:cat /etc/hzy/print.json,后敲击回车键即可查看文件内容
1.2.手动创建
bash
cd /etc/hzy && vim -n print.json注意
将使用vim编辑文件内容,点击查看vim的使用说明
2.运行文档打印工具
启动服务
特别说明
由于字体版权限制,仅内置以下免费商用字体:
- 方正黑体
- 方正仿宋
- 方正楷体
- 思源黑体
- 思源宋体
如果以上字体无法满足打印需求,可以使用自定义字体库,方法如下:
注意:请确保自定义字体库中的字体,已经获取了商用授权,未经授权使用商业字体可能有法律风险!
增加启动参数:-v [自定义字体路径]:/usr/share/fonts/own
提示:自定义字体路径是宿主机文件夹路径
完整配置示例:docker run --privileged -e TZ=Asia/Shanghai -itd -v /etc/hzy:/root/conf -v /usr/share/fonts/own:/usr/share/fonts/own --restart always -p 18086:18086 --name hzy-print registry.cn-hangzhou.aliyuncs.com/hzy0code/hzy-utils:print.x86.2.1.0
注意
使用windows部署时,需要替换相关目录,点击详情查看
bash
docker run --privileged -e TZ=Asia/Shanghai -itd -v /etc/hzy:/root/conf --restart always -p 18086:18086 --name hzy-print registry.cn-hangzhou.aliyuncs.com/hzy0code/hzy-utils:print.x86.2.1.0重启服务
注意
修改了配置文件后,需要使用以下命令重启服务
bash
docker restart hzy-print3.配置文档打印工具
将打印插件地址配置到管理后台,即可启用插件打印(无需重启服务)
特别说明
当系统使用https访问方式,由于浏览器安全机制所以必须配置为:以https方式访问插件
配置方式一
使用https插件,插件已内置代理配置,启用插件即可
配置方式二
自建nginx反向代理,点击查看配置
配置示例
请将替换下方示例的IP、端口(IP也可以使用域名替换,如果是https访问请查看)

4.PDF 转 JPG 接口
打印插件提供了将pdf文件转为jpg图片的接口,调用方式示例如下:
调用方式示例
假设参数如下:
- 插件所在主机地址:https://0codepaas.com
- pdf文件的访问url:https://0codepaas.com/download/test.pdf
- TO_JPG_SECRET:this is secret
则调用方式如下:
bash
POST /print/pdf_to_jpg HTTP/1.1
Host: https://0codepaas.com
Secret: this is secret
Content-Type: application/json
{
"pdfUrl" : "https://0codepaas.com/download/test.pdf"
}参数说明:
- Secret:
print.json中配置的TO_JPG_SECRET(未配置则不用传递此字段) - Host:打印插件所在主机地址
- pdfUrl:pdf文件的访问url
返回值如下:
json
{
"fileName": "1762255670192_5t7Lhk0xMQGQ.jpg"
}特别说明
注意:生成的JPG图片仅保留20分钟,超过时间后将自动删除(请于图片删除前使用工作流-上传文件节点上传图片到服务器)
转换并获取到fileName后,可以通过以下方式获取到转换后的图片:
调用方式示例
假设参数如下:
- 插件所在主机地址:https://0codepaas.com
- 上面获取到的fileName:1762255670192_5t7Lhk0xMQGQ.jpg
则调用方式如下:
bash
GET /print/download/1762255670192_5t7Lhk0xMQGQ.jpg HTTP/1.1
Host: https://0codepaas.com