如何在Amazon Linux 2023中安装wkhtmltopdf?是否需迁移至其他库?
问题描述
- 服务器正在从Amazon Linux 2 (AL2) 升级至Amazon Linux 2023 (AL2023)
- 应用依赖
wkhtmltopdf工具,但该工具暂无适配AL2023的官方发布包 - 尝试安装AL2的aarch64版本rpm包,执行命令:
sudo yum install wkhtmltox-0.12.6-1.amazonlinux2.aarch64.rpm - 依赖安装完成后测试出现错误:
- 直接执行
wkhtmltopdf提示无法执行二进制文件 - 执行
./wkhtmltopdf提示缺少共享库libpng15.so.15
- 直接执行
- 发现
wkhtmltopdf的GitHub仓库已归档,询问是否需要迁移PDF生成功能至其他库
解决方案建议
临时应急方案(过渡用)
AL2023默认搭载更新版本的libpng(如libpng16),而AL2版本的wkhtmltopdf依赖旧版的libpng15,可通过以下方式临时解决:
- 从AL2官方软件源下载
libpng15的aarch64 rpm包(例如libpng15-1.5.30-15.amzn2.0.1.aarch64.rpm) - 强制安装该包(忽略依赖检查,仅作临时过渡):
sudo rpm -ivh libpng15-1.5.30-15.amzn2.0.1.aarch64.rpm --nodeps - 安装完成后重新测试
wkhtmltopdf是否正常运行
另一种更稳妥的临时方案是容器隔离:在AL2023上运行AL2的Docker容器,在容器内安装并运行wkhtmltopdf,避免宿主机的依赖冲突。
长期迁移建议
由于wkhtmltopdf的GitHub仓库已归档,官方停止维护,后续不会推出适配新系统版本的更新,建议尽早迁移到活跃维护的替代工具,以下是几种常用选项:
- WeasyPrint:基于Python的HTML/CSS转PDF工具,支持现代CSS特性,社区活跃
- Puppeteer:通过Headless Chrome/Chromium生成PDF,完美支持JavaScript渲染和复杂网页
- ReportLab:Python库,适合程序化生成PDF文档(而非HTML转PDF场景)
- PrinceXML:商业工具,对复杂HTML/CSS的支持度极高,适合企业级需求
迁移时需要结合自身场景评估:
- 原应用的PDF生成逻辑是否依赖特定HTML/CSS特性
- 新工具的集成成本和学习曲线
- 性能、资源占用等运行指标
内容的提问来源于stack exchange,提问作者damuz91
相关产品推荐
相关产品推荐

