# HTML2PDF
**Repository Path**: mutudu0912/html2-pdf
## Basic Information
- **Project Name**: HTML2PDF
- **Description**: HTML文件转换成pdf
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-06-30
- **Last Updated**: 2026-06-30
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# HTML2PDF
一个使用 Playwright 将 HTML 文件转换为 PDF 的桌面应用程序,支持批量转换和图形界面操作。
## 功能特性
- **HTML 转 PDF**: 使用 Playwright 浏览器引擎进行高质量的 HTML 到 PDF 转换
- **批量处理**: 支持同时转换多个 HTML 文件,可配置并发数
- **归档支持**: 支持从 ZIP 和 TAR 归档文件中提取 HTML 并进行转换
- **图形界面**: 提供友好的拖拽式图形界面,支持文件拖放
- **自动重启**: 长时间运行时可自动重启浏览器进程以释放资源
## 项目结构
```
html2-pdf/
├── archive.py # 归档文件处理模块
├── batch.py # 批量转换处理模块
├── converter.py # 核心转换模块
├── discovery.py # 文件发现模块
└── gui.py # 图形界面模块
```
## 安装依赖
```bash
pip install playwright
playwright install chromium
```
## 使用方法
### 命令行使用
```bash
# 转换单个 HTML 文件
python -m converter input.html output.pdf
# 批量转换目录下所有 HTML 文件
python -m batch /path/to/html/files --output /path/to/output
# 转换归档中的 HTML 文件
python -m converter archive.zip --output output_dir
```
### 图形界面
直接运行 `gui.py` 启动图形界面:
```bash
python gui.py
```
或使用打包后的应用程序(macOS)。
## 配置选项
### PdfOptions 配置
- `scale`: PDF 缩放比例(默认 1.0)
- `print_background`: 是否打印背景颜色(默认 True)
- `page_ranges`: 页面范围设置
- `margin`: 页面边距设置
### 批处理配置
- `concurrency`: 并发转换数量(默认 4)
- `restart_after`: 转换多少文件后重启浏览器(默认 50)
## 技术栈
- **Python 3.14**: 核心编程语言
- **Playwright**: 浏览器自动化工具
- **tkinter**: Python 标准 GUI 库
- **tkinterdnd2**: 拖拽支持
## 许可证
MIT License