# 安装wkhtmltoimage指南 ## 🚨 问题诊断 截图功能失败是因为系统中缺少 `wkhtmltoimage` 命令。 ```bash $ which wkhtmltoimage # 找不到命令 ``` ## 🔧 解决方案 ### 方案1: Windows下安装wkhtmltoimage(推荐) #### 步骤1: 下载安装包 1. 访问:https://wkhtmltopdf.org/downloads.html 2. 下载Windows安装程序(通常是 .msi 文件) 3. 运行安装程序,默认安装路径:`C:\Program Files\wkhtmltopdf\` #### 步骤2: 添加到系统PATH 1. 按 `Win + R`,输入 `sysdm.cpl`,回车 2. 点击"环境变量" 3. 在"系统变量"中找到"Path",点击"编辑" 4. 添加新路径:`C:\Program Files\wkhtmltopdf\bin` 5. 点击"确定"保存 #### 步骤3: 验证安装 ```bash wkhtmltoimage --version ``` 应该显示版本信息。 ### 方案2: 使用替代方案 #### 选项A: 使用Playwright替代wkhtmltoimage 项目中已经有Playwright,我们可以修改截图实现使用Playwright。 #### 选项B: 临时禁用截图功能 在环境变量中设置: ```bash export ENABLE_SCREENSHOT=0 ``` ### 方案3: Docker环境(Linux/Mac) 如果使用Docker,Dockerfile中通常会包含wkhtmltoimage安装: ```dockerfile RUN apt-get update && apt-get install -y wkhtmltopdf ``` ## 🧪 测试截图功能 安装完成后,重新测试: ```bash # 1. 检查命令是否可用 wkhtmltoimage --version # 2. 重新启动应用 python app.py # 3. 在浏览器中测试截图功能 # 访问: http://127.0.0.1:51233/yuyx # 进入截图页面测试 ``` ## 📊 当前截图配置 项目中的截图配置: - **截图工具**: wkhtmltoimage - **默认参数**: - 宽度: 1920px - 高度: 1080px - 质量: 95% - JS延迟: 3000ms ## 🔍 故障排除 ### 问题1: 仍然找不到命令 **解决**: 确认PATH设置正确,重启命令行 ### 问题2: 命令存在但截图失败 **解决**: 检查系统防火墙和权限设置 ### 问题3: 中文页面截图乱码 **解决**: 安装中文字体包或设置字体环境变量 ## 💡 推荐做法 1. **优先选择方案1**: 下载官方安装包,这是最稳定的方法 2. **验证安装**: 安装后一定要测试命令是否可用 3. **重启应用**: 安装完成后重启Flask应用 ## 📞 后续支持 安装完成后,截图功能应该能正常工作。如果还有问题,请检查: 1. 命令行是否能识别 `wkhtmltoimage` 2. 应用日志中的错误信息 3. 系统权限和防火墙设置