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

101 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 安装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
如果使用DockerDockerfile中通常会包含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. 系统权限和防火墙设置