github
doctron/README_ZH.md at master · lampnick/doctron (github.com)
特性
- 使用chrome内核保证高质量将HTML转为pdf/图片。
- 简易部署(提供docker镜像,Dockerfile以及k8s yaml配置文件)。
- 支持丰富的转换参数。
- 转为pdf和图片支持自定义大小。
- 无状态服务支持。
安装
1 2 3 4 5 6
| #使用默认配置 docker run -p 8080:8080 --rm --name doctron-alpine lampnick/doctron #使用自定义配置文件 docker run -p 8080:8080 --rm --name doctron-alpine \ -v <本地doctron.yaml配置文件>:/doctron.yaml \ lampnick/doctron
|
1
| kubectl apply -f https://raw.githubusercontent.com/lampnick/doctron/master/manifests/k8s-doctron.yaml
|
1 2 3
| git clone https://github.com/lampnick/doctron.git cd doctron go run main.go
|
1 2 3
| go get -v github.com/lampnick/doctron 下载完成之后直接运行 doctron
|
快速开始
Html转pdf
基础转换
1
| http://127.0.0.1:8080/convert/html2pdf?u=doctron&p=lampnick&url=<url>
|
自定义大小
1
| http://127.0.0.1:8080/convert/html2pdf?u=doctron&p=lampnick&url=<url>&marginTop=0&marginLeft=0&marginRight=0&marginbottom=0&paperwidth=4.1
|
支持的参数
- u/username // doctron 用户名
- p/password // doctron 密码
- uploadKey // 上传到OSS的文件名
- url //需要转换的html URL
- landscape // 横向打印格式.默认false.表示纵向
- displayHeaderFooter // 是否显示页头页尾,默认false.
- printBackground // 是否打印背景。默认false.
- scale // 缩放比例. 默认1.
- paperWidth // 纸张宽度,单位英尺。默认8.5英尺.
- paperHeight // 纸张高度,单位英尺。默认11英尺.
- marginTop // 上外边距,单位英尺。默认纸0.4英尺(1厘米).
- marginBottom // 下外边距,单位英尺。默认纸0.4英尺(1厘米).
- marginLeft // 左外边距,单位英尺。默认纸0.4英尺(1厘米). =
- marginRight // 右外边距,单位英尺。默认纸0.4英尺(1厘米).
- pageRanges // 需要打印的PDF的页数。默认为空字符串,表示所有页面.
- ignoreInvalidPageRanges // 是否静默的忽略掉不可用的但是成功解析的页面。例如’3-2’,默认false.
- WaitingTime // 页面加载后等待时长. 默认为0代表不等待. 单位:毫秒
Html转图片
基础转换
1
| http://127.0.0.1:8080/convert/html2image?u=doctron&p=lampnick&url=<url>
|
自定义大小
1
| http://127.0.0.1:8080/convert/html2image?u=doctron&p=lampnick&url=<url>&customClip=true&clipX=0&clipY=0&clipWidth=400&clipHeight=1500&clipScale=2&format=jpeg&Quality=80
|
支持的参数
- u/username // doctron 用户名
- p/password // doctron 密码
- uploadKey // 上传到OSS的文件名
- url // 需要转换的html URL
- format // 图片压缩格式(defaults to png),还支持jpeg.
- quality // jpeg图片压缩质量 [0..100] (jpeg only).
- customClip // 只有设置了这个值,下面的裁剪才会生效.否则不生效.
- clipX // 裁剪X轴方向距离.
- clipY // 裁剪Y轴方向距离.
- clipWidth // 裁剪宽度.
- clipHeight // 裁剪高度.
- WaitingTime // 页面加载后等待时长. 默认为0代表不等待. 单位:毫秒
Pdf加水印
添加图片水印
1
| http://127.0.0.1:8080/convert/pdfAddWatermark?u=doctron&p=lampnick&url=<pdf url>&imageUrl=<image url>
|
支持的参数
- u/username // doctron 用户名
- p/password // doctron 密码
- uploadKey // 上传到OSS的文件名
- url // 需要转换的html URL
- imageUrl // 图片水印URL,支持png/jpeg