EPUB-PDF转换器
为了转换epub为pdf方便打印 同时作为
专门使用:
制作了转换器
下载链接:
README.md
# EPUB 转 PDF 转换工具(单文件版)
> 版本 v2.2 · 浏览器本地运行 · 文件不上传服务器
一个开箱即用的 EPUB → PDF 转换工具,全部功能封装在单个 HTML 文件(epub-converter-v2.2.html)中,无需安装任何软件,用浏览器打开即可使用。
---
## 快速开始
在线使用(外网地址,免下载): 浏览器直接打开 <https://www.dumate.cn/artifacts/epub_pdf> 即可使用(已发布版本与本地单文件版内容一致,点开即用)。
本地单文件版:
1. 用 Chrome / Edge 打开 epub-converter-v2.2.html(双击即可,离线可用,无需联网)。
2. 将 .epub 文件拖入页面,或点击上传区选择文件(支持一次选择多本 EPUB)。
3. 在「章节」卡片中勾选需要转换的章节(支持全选/取消)。
4. 在「设置」卡片中按需配置页面、字体、图片清晰度、输出方式等。
5. 点击「开始转换」,完成后自动下载 PDF 文件,或弹出浏览器打印预览。
> 提示:在地址栏以 epub-converter-v2.2.html?autofile=EPUB文件URL 打开,可直接自动加载远程 EPUB(需目标服务器允许跨域读取)。
## 功能特性
- 零依赖安装:JSZip / jsPDF / html2canvas 等库已内嵌,单文件即完整工具
- 多书合并:支持多本 EPUB 同时导入并合并输出
- 两种输出模式:
- 直接生成 PDF(jsPDF 引擎,分段渲染 + 智能分页)
- 浏览器打印(保留 EPUB 原排版 CSS,输出前弹出打印预览)
- 目录与页码:自动侦测目录章节;目录下一页起算为第 1 页;可在 PDF 目录条目右侧叠加目标页码
- 图片处理:图片清晰度 1.5x / 2x / 3x 可选;纯图片章节整页显示;图片溢出时移至下一页完整显示;可选跳过纯图片页页码
- 版式控制:页面尺寸(A4 / A5 / B6 / B5 / Letter)、页边距、正文字号、行距;每章新起一页开关;章节标题自动插入
- 字体体系:内置钉钉进步体 / 衬线 / 黑体 / 圆体 / 楷体 / 行楷 / 隶书 / 微软雅黑等字体方案(默认衬线体;钉钉进步体需本机安装后生效,未安装自动回退);可选「仅使用原字体」;可选「目录前的页面与文章标题不参与字体转换」
- 阅读氛围:可选泛黄纸纹效果(文字与背景同步调色)
- 鲁棒性:章节渲染失败自动生成占位页,不影响整本输出;超长章节自动分段渲染防止画布超限被截断;低内存设备自动降低渲染精度
- 隐私安全:所有处理均在浏览器本地完成,文件不上传
## 设置项说明
| 分组 | 设置项 | 说明 |
| --- | --- | --- |
| 页面 | 页面尺寸 | A4 / A5 / B6(128×182) / B6(125×176) / B5 / Letter |
| 页面 | 上下/左右边距 | 正文内容距页面边缘的距离(mm) |
| 字体 | 字体选择 | 默认衬线体;钉钉进步体(需本机安装)可选,另有黑体、圆体、楷体、行楷、隶书、微软雅黑等 |
| 字体 | 正文字号 | 原始字号可被覆盖(px 自动换算为 pt) |
| 字体 | 仅使用原字体 | 不动用上方字体方案,保留 EPUB 原始字体 |
| 字体 | 目录页与标题不参与字体转换 | 封面、版权、目录等页与每章标题保持原字体 |
| 图片 | 图片清晰度 | 渲染缩放倍数,越高越清晰但 PDF 越大 |
| 图片 | 图片溢出移至下页 | 无法在当前页完整显示的图片自动下移 |
| 章节 | 每章新起一页 | 章节从新页开始,避免首尾衔接 |
| 章节 | 显示章节标题 | 每章开头插入标题 |
| 章节 | 整页图片 | 纯图片章节按整页显示 |
| 输出 | 输出方式 | 直接生成 PDF 或浏览器打印 |
| 输出 | 添加页码 | 目录下一页为第 1 页(打印模式使用 @page 页脚) |
| 输出 | 跳过纯图片页页码 | 纯图片页不叠加页码 |
| 封面/并行 | 封面无边距 | 第一页封面去除页边距(打印模式) |
| 转换 | 顺序/并行 | 多书转换的调度方式;并行支持并发数设置 |
## 转换前后效果预览
同一源书的转换前后样例(点击链接可直接下载):
| 阶段 | 文件 | 大小 | 链接 |
| --- | --- | --- | --- |
| 转换前(源 EPUB) | 魔女之旅 07.epub | 约 3.7 MB | https://pan.1n34.top/d/ilanzou/1n34/other/converted-epub/%E9%AD%94%E5%A5%B3%E4%B9%8B%E6%97%85%2007.epub?sign=16T71ETvoFHP-qpWepBdne1J8uyPyN7AjR6REsglpPY=:0 |
| 转换后(PDF) | 魔女之旅 07.pdf | 约 144.7 MB | https://pan.1n34.top/d/ilanzou/1n34/other/converted-epub/%E9%AD%94%E5%A5%B3%E4%B9%8B%E6%97%85%2007.pdf?sign=RBbrFqJ89iA05LJnz0ZtKa48_3DpQi9XZ13D-jk1s0k=:0 |
> 直链带站内访问签名(2026-09-22 核验可下载,EPUB 3,925,558 字节;PDF 151,671,076 字节);若签名过期,请前往目录 https://pan.1n34.top/ilanzou/1n34/other/converted-epub 获取最新链接。
## 字体验证结论(2026-09-25)
### 钉钉进步体(DingTalk JinBuTi)
结论:可以使用并随本生成器公开发布(以字体族名引用形式),但不得分发字体文件本体。
依据钉钉官方《钉钉进步体法律法规声明》(钉钉(中国)信息技术有限公司发布,本包附有 PDF 原件):
- ✅ 允许:通过钉钉官方渠道下载、安装、使用,免费、不可转让、非排他的普通许可,**可合法用于商业或非商业用途**;钉钉官方亦公告「永久免费商用」
- 🚫 禁止:上传、发布、转载字体文件本体;对字体进行修改、仿制、转换、反编译、拆分等;删除/覆盖法律声明;单独定价出售、出租、转授权
- 字体文件内部标记(OS/2 fsType = NoSubsetting)同样声明**禁止子集化**,与官方声明一致
因此本生成器采用**合规接入方式**:仅将 'DingTalk JinBuTi','钉钉进步体' 写入字体族名优先位,**不内嵌字体文件、不随 zip 打包 ttf、不做子集化**。用户需自行从钉钉官方渠道下载安装后,选择「钉钉进步体」即在本地渲染生效;未安装时自动回退到黑体(Noto Sans SC / PingFang / 微软雅黑)等系统字体,不影响转换功能。
官方下载页:<https://page.dingtalk.com/wow/dingtalk/default/dingtalk/y-W5aF3_ZJwzulU0nceIl>
### 生成器既有字体方案(13 种)
结论:全部可随本生成器公开使用与发布,无授权分发风险。
既有字体方案(衬线/Noto Serif、黑体/Noto Sans、楷体、仿宋、宋体、黑体、圆体、隶书、微软雅黑、极细等)在生成器中均以**系统字体族名(font-family)引用**,不携带任何字体文件本体、不做子集化、不内嵌字体文件——属于「调用用户设备已有字体」的使用行为,而非字体再分发,不涉及字体厂商授权边界;渲染效果取决于查看/打印设备已安装的字体,未安装时按字体栈依次回退。
## 版本记录
### v2.2(当前)
- 版本号由 v2.1 升级为 v2.2(纯版本号升级,功能逻辑不变)
- 文件名与文档引用同步更新为 epub-converter-v2.2.html;默认字体保持衬线体,钉钉进步体为可选(需本机安装)
### v2.1
- 新增「钉钉进步体」字体方案(非默认,需本机安装后生效,未安装自动回退——授权限制,不内嵌字体文件;默认仍为衬线体)
- 新增「字体验证结论」章节:钉钉进步体及既有字体体系的授权核验结论
- 移除文件名及页面标题中的 d-18000 编号标记
### v2.0
- 修复打印模式页码失效:此前 @page 内嵌套 @page 属无效 CSS,浏览器会忽略导致「打印 + 添加页码」时页码不显示;现改为在主 @page 中直接使用 @bottom-center 页脚规则
- 修复兜底渲染样式图片限高单位笔误(页面高度毫米值被误当像素值,图片被过度缩小)
- 补齐纯图片页 / 占位页渲染的返回值字段(tocEntryPositions、imgPositions 与常规章节一致)
- 打印模式下章节标题与文档标题做 HTML 转义,防止含 <、& 等字符的书名/标题破坏打印文档结构
- 句法校验:5 段内嵌脚本全部通过 node --check,CSS 大括号/变量/标签配对校验通过
### 更早修复(v1.x 累计)
- 补齐 --warn 等 CSS 变量缺失;修复两处渲染容器 overflow 声明冲突
- display:none 兜底覆盖加元素类型排除(不误伤 script/style 等)
- 打印模式接入 useOriginalFont / chapterNewPage / tocTitleNoFont 设置项,补全 fullPageImage / coverNoMargin 对应 CSS
- re-render 路径返回值补齐 imgPositions,避免二次渲染后图片切割失真
- _fixTextVisibility 支持 rgba() 白色/黑色文字(半透明水印不改色)
- _canvasHasContent 像素读取改为批量 band 方式,降低大图扫描开销
- showStatus 定时器防叠加(多次调用不再造成提示提前消失或重复触发)
## 注意事项
- 建议使用 Chrome / Edge 最新版;打印模式依赖浏览器打印对话框
- 超大体量 EPUB 或 3x 超清渲染时,转换耗时与内存占用会明显上升,属正常现象
- 若 EPUB 内嵌字体过大(data URI 超过 500KB),转换时会自动跳过该字体以避免生成超重 PDF
- 本工具为本地网页工具,不收集任何文件与数据
## 技术支持与作者
- 技术支持:[1n34云](https://cloud.1n34.top)
- 作者:[1n34](https://1n34.top)
## 开源协议
本项目以 知识共享 署名-非商业性使用 4.0 国际(CC BY-NC 4.0) 协议开源发布,协议全文见 <https://creativecommons.org/licenses/by-nc/4.0/deed.zh-hans>。
协议核心约定(满足"永远保留作者、允许修改、不允许商业"):
- 永远保留作者署名:使用、复制、修改、合并、再分发本项目(含任何部分)时,必须始终保留原作者「1n34」与技术支持「1n34云」的署名信息,不得移除、遮挡或替换页面页脚与说明文档中的作者信息;该项署名义务不可撤销、永久有效
- 允许修改:允许在保留署名并遵守本协议的前提下,对本项目进行修改、二次开发与再分发(衍生作品同样适用本协议)
- 不允许商业使用:不得将本项目或其衍生作品用于任何商业目的,包括但不限于商业售卖、商业托管服务、以本项目作为付费服务交付物等
## 文件清单
```
epub-converter-v2.2.html 工具本体(单文件,双击即可运行)
readme.md 本说明文档
在线版本 https://www.dumate.cn/artifacts/epub_pdf(已发布,内容与本地文件一致)
```
---
© 2026 [1n34](https://1n34.top) · 由 [1n34云](https://cloud.1n34.top) 提供技术支持 · 基于 CC BY-NC 4.0 开源 · 浏览器本地转换 · 文件不上传
