athenapdf Docker部署完全指南:跨平台解决方案

【免费下载链接】athenapdf Drop-in replacement for wkhtmltopdf built on Go, Electron and Docker 【免费下载链接】athenapdf 项目地址: https://gitcode.com/gh_mirrors/at/athenapdf

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 转换工具吧!

【免费下载链接】athenapdf Drop-in replacement for wkhtmltopdf built on Go, Electron and Docker 【免费下载链接】athenapdf 项目地址: https://gitcode.com/gh_mirrors/at/athenapdf

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐