doctron 功能简介
doctron 主要是Github 上面 go 语言开发的一个开源的 html 转PDF的工具。项目地址
业务场景
比如有一个食谱的查看详情页面,需要将其导出为 PDF 文件,后端涉及数据较多,处理不好排版的问题,开发工作量大不说,代码还特别臃肿。咱应该把这些时间用来做更有意义的事情!
下载与运行
上面已经附了源码地址,下载完成后查看下述文件,我们这里使用 “从源码运行”。如果没有配置 Go环境变量,请看 Windows 安装GoPath

在cmd 中运行: go run main.go --config=./conf/default.yaml ,是不是卡在这里半天都没有反应?像下面这样:

到这里不用着急,既然踩过的坑就一定能解决的。办法是:
cmd 先运行: go env -w GOPROXY=https://goproxy.cn ,
再执行: go run main.go --config=./conf/default.yaml 过程会加载一些依赖,然后很快就跑起来了:

测试
在浏览器的访问:http://127.0.0.1:8080/convert/html2pdf?u=doctron&p=lampnick&url=https://www.baidu.com

URL 中支持具体的参数配置:
支持的参数
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代表不等待. 单位:毫秒
参考官网格式传值:

Doctron是一个在Github上的开源项目,使用Go语言开发,专注于将HTML转换为PDF。它解决了后端处理复杂排版问题的难题,提供了一种简洁的解决方案。用户可以通过配置参数进行各种定制,如设置打印方向、页眉页脚、纸张尺寸等。安装运行时,可能需要配置Go环境并加载依赖。测试转换可通过发送请求到指定URL来完成。
1601

被折叠的 条评论
为什么被折叠?



