|
| 1 | +# HTML 转 PDF 转换工具 |
| 2 | + |
| 3 | +基于 PDF API 服务封装的 Python 工具函数,支持将 HTML 内容转换为 PDF 文件。 |
| 4 | + |
| 5 | +## 一、项目介绍 |
| 6 | + |
| 7 | +### 1.1 核心功能 |
| 8 | + |
| 9 | +- **HTML 到 PDF 转换**:支持 HTML 字符串或 HTML 文件路径作为输入,转换为高质量的 PDF 文档。 |
| 10 | +- **文件上传集成**:转换完成后可自动上传到指定服务器,支持自定义请求头。 |
| 11 | +- **临时文件管理**:自动生成唯一命名的临时文件,并在处理完成后清理,避免磁盘空间占用。 |
| 12 | +- **错误处理机制**:完善的异常捕获和错误信息提示,便于问题排查。 |
| 13 | + |
| 14 | +### 1.2 适用场景 |
| 15 | + |
| 16 | +- **报告生成**:将数据分析结果或报告从 HTML 格式转换为可打印的 PDF 文档。 |
| 17 | +- **文档归档**:将网页内容或动态生成的 HTML 内容保存为 PDF 进行长期存储。 |
| 18 | +- **内容分发**:在 Web 应用中提供 PDF 下载功能,增强用户体验。 |
| 19 | +- **自动化流程**:集成到自动化工作流中,批量处理 HTML 到 PDF 的转换任务。 |
| 20 | + |
| 21 | +## 二、环境准备 |
| 22 | + |
| 23 | +### 2.1 依赖库 |
| 24 | + |
| 25 | +该工具基于 Python 标准库和常用第三方库构建。 |
| 26 | + |
| 27 | +| 依赖库 | 版本要求 | 用途说明 | |
| 28 | +| :--------- | :------------ | :--------------------- | |
| 29 | +| `requests` | ≥ 2.20.0 | 发送 HTTP 请求 | |
| 30 | +| `os` | Python 标准库 | 文件路径操作和系统接口 | |
| 31 | +| `uuid` | Python 标准库 | 生成唯一标识符 | |
| 32 | +| `datetime` | Python 标准库 | 时间戳生成 | |
| 33 | + |
| 34 | +### 2.2 安装依赖 |
| 35 | + |
| 36 | +通过 `pip` 安装 `requests` 库: |
| 37 | + |
| 38 | +```bash |
| 39 | +pip install requests |
| 40 | +``` |
| 41 | + |
| 42 | +------ |
| 43 | + |
| 44 | +## 三、使用说明 |
| 45 | + |
| 46 | +### 3.1 部署html-to-pdf服务 |
| 47 | + |
| 48 | +[html-to-pdf.tar](registry.cn-hangzhou.aliyuncs.com/functions_mk/html-to-pdf:latest) |
| 49 | + |
| 50 | +```linux |
| 51 | +# 加载镜像 |
| 52 | +docker load -i html-to-pdf.tar |
| 53 | +
|
| 54 | +# 启动 |
| 55 | +docker run -d -p 6000:6000 --name convertpdf html-to-pdf |
| 56 | +``` |
| 57 | + |
| 58 | +### 3.2 参数说明 |
| 59 | + |
| 60 | +#### 启动参数 |
| 61 | + |
| 62 | +| 参数名 | 类型 | 说明 | |
| 63 | +| ---------------- | ---- | ------------ | |
| 64 | +| `upload_url` | str | 文件上传地址 | |
| 65 | +| `upload_headers` | str | 上传请求头 | |
| 66 | +| `api_url` | str | API 端点 | |
| 67 | + |
| 68 | +##### 填写要求: |
| 69 | + |
| 70 | +`upload_url`:填写当前使用的 MaxKB 地址。 |
| 71 | + |
| 72 | +`upload_headers`:填写 MaxKB 的 API Key。 |
| 73 | + |
| 74 | +`api_url`:参照 3.1 使用自己部署的 html-to-pdf 服务 |
| 75 | + |
| 76 | +#### 输入参数 |
| 77 | + |
| 78 | +| 参数名 | 类型 | 说明 | |
| 79 | +| -------------- | ---- | ------------------------- | |
| 80 | +| `html_content` | str | HTML 字符串内容或文件路径 | |
| 81 | +| `filename` | str | 输出文件名 | |
| 82 | + |
| 83 | +## 四、注意事项 |
| 84 | + |
| 85 | +- **文件清理**:无论转换成功与否,都会自动清理临时生成的 PDF 文件 |
| 86 | +- **上传认证**:上传功能需要有效的 Bearer Token,请确保 `upload_headers`参数正确 |
| 87 | +- **字符编码**:处理 HTML 文件时使用 UTF-8 编码,确保中文等特殊字符正确显示 |
0 commit comments