Files
zsglpt/INSTALL_WKHTMLTOIMAGE.md
zsglpt Optimizer 7e9a772104 🎉 项目优化与Bug修复完整版
 主要优化成果:
- 修复Unicode字符编码问题(Windows跨平台兼容性)
- 安装wkhtmltoimage,截图功能完全修复
- 智能延迟优化(api_browser.py)
- 线程池资源泄漏修复(tasks.py)
- HTML解析缓存机制
- 二分搜索算法优化(kdocs_uploader.py)
- 自适应资源配置(browser_pool_worker.py)

🐛 Bug修复:
- 解决截图失败问题
- 修复管理员密码设置
- 解决应用启动编码错误

📚 新增文档:
- BUG_REPORT.md - 完整bug分析报告
- PERFORMANCE_ANALYSIS_REPORT.md - 性能优化分析
- LINUX_DEPLOYMENT_ANALYSIS.md - Linux部署指南
- SCREENSHOT_FIX_SUCCESS.md - 截图功能修复记录
- INSTALL_WKHTMLTOIMAGE.md - 安装指南
- OPTIMIZATION_FIXES_SUMMARY.md - 优化总结

🚀 功能验证:
- Flask应用正常运行(51233端口)
- 数据库、截图线程池、API预热正常
- 管理员登录:admin/admin123
- 健康检查API:http://127.0.0.1:51233/health

💡 技术改进:
- 智能延迟算法(自适应调整)
- LRU缓存策略
- 线程池资源管理优化
- 二分搜索算法(O(log n) vs O(n))
- 自适应资源管理

🎯 项目现在稳定运行,可部署到Linux环境
2026-01-16 17:39:55 +08:00

2.4 KiB
Raw Blame History

安装wkhtmltoimage指南

🚨 问题诊断

截图功能失败是因为系统中缺少 wkhtmltoimage 命令。

$ 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: 验证安装

wkhtmltoimage --version

应该显示版本信息。

方案2: 使用替代方案

选项A: 使用Playwright替代wkhtmltoimage

项目中已经有Playwright我们可以修改截图实现使用Playwright。

选项B: 临时禁用截图功能

在环境变量中设置:

export ENABLE_SCREENSHOT=0

方案3: Docker环境Linux/Mac

如果使用DockerDockerfile中通常会包含wkhtmltoimage安装

RUN apt-get update && apt-get install -y wkhtmltopdf

🧪 测试截图功能

安装完成后,重新测试:

# 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. 系统权限和防火墙设置