P2W 是一个网页转PDF或图片的工具, 支持通过命令行和HTTP接口调用
如果你不使用Docker, 那么在使用前你需要预先安装Chrome浏览器.
首先你需要根据操作系统下载P2W的可执行文件.
如果您使用的是Linux, 请将可执行文件放置在/usr/local/bin
目录下.
如果您使用的是Windows, 请将可执行文件放置在环境变量PATH
中任意目录下.
docker run -d -p 12800:12800 --name p2w ghcr.io/skye-z/p2w:latest
P2W提供 pdf
和 image
两个命令
- 公共 Flags
- --url/-u: 待转换的网址
- --path/-p: 转换后输出路径(默认
./
) - --code/-c: 转换任务标识代码
- --send/-s: 转换后发送地址
image
专用 Flags- --element/-e: 截取元素
- --quality/-q: 图片质量(默认90)
请注意,
path
与send
只能二选一, 优先send
标签
# 输出PDF到当前路径
p2w pdf -u="https://github.com" -p="./"
# 发送PDF到指定地址
p2w pdf -u="https://github.com" -c="github" -s="http://localhost:8080/test"
# 输出完整页面图片到当前路径
p2w image -u="https://github.com" -p="./" -q="90"
# 发送完整页面图片到指定地址
p2w image -u="https://github.com" -q="90" -c="github" -s="http://localhost:8080/test"
# 输出指定元素图片到当前路径
p2w image -u="https://github.com" -p="./" -q="90" -e=".application-main"
# 发送指定元素图片到指定地址
p2w image -u="https://github.com" -q="90" -e=".application-main" -c="github" -s="http://localhost:8080/test"
P2W提供 /api/pdf
和 /api/img
两个 GET
接口
- 公共参数
- url: 待转换的网址
- code: 转换任务标识代码
- send: 转换后发送地址
image
专用参数- element: 截取元素
- quality: 图片质量(默认90)
请注意, 需要使用命令行命令 server
启动HTTP服务器才可访问
p2w server -p="12800"
go mod download
go mod tidy
# 为当前平台打包
go build -o p2w -ldflags '-s -w'
# MacOS
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o p2w -ldflags '-s -w'
# Linux
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o p2w -ldflags '-s -w'
# Windows
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o p2w -ldflags '-s -w'
# 先编译Linux版本
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o p2w -ldflags '-s -w'
# 然后在目录下构建镜像
docker build -t skye-z/p2w:1.0.0 .