athenapdf Docker部署完全指南:跨平台解决方案
athenapdf 是一款基于 Go、Electron 和 Docker 构建的 wkhtmltopdf 替代品,提供了更稳定、更现代的 HTML 转 PDF 解决方案。本指南将带你通过 Docker 快速部署 athenapdf,实现跨平台的 PDF 转换功能。## 📋 准备工作在开始部署前,请确保你的系统已安装以下工具:- Docker Engine (20.10+ 版本)- D
athenapdf Docker部署完全指南:跨平台解决方案
athenapdf 是一款基于 Go、Electron 和 Docker 构建的 wkhtmltopdf 替代品,提供了更稳定、更现代的 HTML 转 PDF 解决方案。本指南将带你通过 Docker 快速部署 athenapdf,实现跨平台的 PDF 转换功能。
📋 准备工作
在开始部署前,请确保你的系统已安装以下工具:
- Docker Engine (20.10+ 版本)
- Docker Compose (v2+ 版本)
- Git 工具
🔄 快速部署步骤
1. 克隆项目代码库
首先获取 athenapdf 源代码:
git clone https://gitcode.com/gh_mirrors/at/athenapdf
cd athenapdf
2. 使用 Docker Compose 一键部署
项目提供了完整的 Docker Compose 配置文件,位于项目根目录的 docker-compose.yml,执行以下命令启动服务:
cd weaver
docker-compose up -d
这个命令会自动构建并启动两个核心服务:
athenapdf-weaver: 基于 Go 的转换服务athenapdf-cli: 基于 Electron 的 PDF 渲染器
3. 验证服务状态
检查容器运行状态:
docker-compose ps
你应该能看到类似以下的输出:
Name Command State Ports
----------------------------------------------------------------------------------
weaver_athenapdf_1 /entrypoint.sh Up 0.0.0.0:8080->8080/tcp
weaver_cli_1 /entrypoint.sh Up
⚙️ 配置自定义参数
修改默认配置
athenapdf 的核心配置文件位于 weaver/config.go,你可以通过环境变量或挂载配置文件来自定义参数:
# 示例: docker-compose.yml 自定义配置
environment:
- ATHENA_WEBSERVICE_PORT=8080
- ATHENA_CONVERSION_TIMEOUT=300
- ATHENA_MAX_BODY_SIZE=10485760
调整资源限制
为确保转换服务稳定运行,建议根据实际需求调整 Docker 资源限制:
# 在 docker-compose.yml 中添加
deploy:
resources:
limits:
cpus: '2'
memory: 2G
🚀 使用 athenapdf 服务
基本转换 API
服务启动后,可以通过 HTTP 请求进行 PDF 转换:
# URL 转 PDF
curl "http://localhost:8080/convert?url=https://example.com" -o example.pdf
# HTML 内容转 PDF
curl -X POST "http://localhost:8080/convert" \
-H "Content-Type: text/html" \
--data-binary @input.html \
-o output.pdf
高级转换选项
athenapdf 支持多种转换参数,如页面大小、方向、页眉页脚等:
# 设置页面大小为 A4 横向
curl "http://localhost:8080/convert?url=https://example.com&pageSize=A4&orientation=landscape" -o example-landscape.pdf
📝 常见问题解决
服务启动失败
如果遇到容器启动失败,可通过以下命令查看日志:
docker-compose logs -f
常见问题及解决方案:
- 端口冲突:修改 docker-compose.yml 中的端口映射
- 资源不足:增加 Docker 内存分配或调整服务资源限制
- 网络问题:检查网络代理设置,确保容器可以访问外部网络
转换中文乱码
项目已包含字体配置文件 cli/fonts.conf,如需支持更多字体,可挂载字体目录:
volumes:
- ./custom-fonts:/usr/share/fonts/custom
📚 更多资源
通过 Docker 部署 athenapdf,你可以轻松获得跨平台的 HTML 转 PDF 能力,无论是在开发环境还是生产系统中,都能提供稳定可靠的转换服务。现在就开始体验这款强大的 PDF 转换工具吧!
更多推荐
所有评论(0)