PDF 转 EPUB — 在浏览器中将 PDF 转为 EPUB
将 PDF 文件转换为 EPUB 电子书。仅文本的可重排输出,无上传、无账号,完全在浏览器中运行。
Drop your PDF file here
or click to browse (max 50MB) — text only, images not preserved
Text-only conversion. Images and complex layouts in the source PDF are not preserved.
PDF 转 EPUB 是那种听起来简单、实际并不简单的转换之一。两种格式承担着根本不同的工作:PDF 是字形按精确坐标排列的固定版式印刷就绪文档;EPUB 是由阅读器实时分页的可重排文本与样式流。两者之间的转换,要么保留原本的精确外观(EPUB 在设计上就做不到这一点),要么从字形重建阅读流(这是本工具做的事情,并附带由此带来的限制)。
这个工具的诚实版本,是一个把输出打包成 EPUB 的文本提取器。它遍历每一页,按位置排序字形,将它们归组为行,再把每行写成一段。没有 OCR、没有版式分析、没有插图检测、没有分栏检测。对于以文字为主的 PDF —— 书籍、文章、合同、报告 —— 结果是可读的。对于精心排版的文档 —— 宣传册、多栏论文、任何带插图或脚注的内容 —— 结果是按正确顺序排列的文字,但视觉结构消失了。这个取舍在界面和限制列表中都已说明,对一个在浏览器中运行的 MVP 来说,这是正确的选择。
下一次迭代(如果到来)会增加一个选项,用嵌入页面图片来代替文本提取 —— 适用于漫画、杂志以及任何重排本就是错误输出的设计型版式。在此之前,对于纯文本 PDF,这是正确的选择;而对于任何扫描件,正确的做法是先 OCR。
使用方法
拖入一个 PDF 文件
把 .pdf 文件拖入拖放区,或点击浏览。文件在浏览器中使用 pdfjs-dist 解析 —— 字节不会离开本机。
等待文本提取完成
工具遍历每一页,读取文本层,并将字符合并为行。没有文本层的 PDF(纯扫描件)会产生空页面 —— 请先运行 OCR。
下载 EPUB
输出是一个有效的 EPUB 3.0 文件,每页一章,带有导航文档以及用于老阅读器的 NCX 目录。
常见问题
为什么 EPUB 中没有图片?
真正保留图片的 PDF 转 EPUB 需要运行 OCR 或版式分析、对插图分类、并围绕文本重新定位它们。本工具交付的是更简单的版本 —— 仅文本 —— 并在界面上明确说明这一限制。
我的 PDF 是没有文字的扫描件,能用吗?
不能。转换器读取的是文本层;纯扫描件没有文本层,输出会是一连串空页面。请先对 PDF 运行 OCR 工具,再进行转换。
为什么每个 PDF 页面都是单独一章?
如果不运行版式分析,我们无法识别章节边界。按页划分章节是可预测的,让阅读器可以正常导航。有些阅读器会把这视为一本由极短章节组成的长书。
脚注和表格单元格会被保留吗?
部分会。转换器按位置对字形排序并重建行,因此大部分正文能完整保留。多栏版式、侧边栏和表格单元格可能以错误的顺序合并。
输出能用哪些阅读器应用打开?
EPUB 符合 EPUB 3.0 并带有 NCX 兜底,因此可在 Apple Books、Google Play Books、Kobo、Calibre、Thorium 以及任何其他现代阅读器中打开。
限制说明
- 仅文本输出嵌入的图片、矢量图形、图表和表格都会被丢弃。EPUB 仅包含文本层,每行重建后的内容渲染为一个段落。
- 不保留版式标题、栏、侧边栏和页脚通过字形位置推断,有时会落到错误的顺序。输出是可重排的,这正是 EPUB 的意义所在,但源文档的页面边界不会保留。
- 扫描型 PDF 会产生空页面没有文本层的扫描型 PDF 转换后得到的是无文字的章节。必须先运行 OCR —— 本工具不执行 OCR。
- 大字与多语种支持有限字形按空间邻近度合并。从右到左的脚本以及复杂文字(Arabic、Devanagari、Thai)可能会被错误地重排。Latin 与 CJK 通常没问题。
平台说明
- macOS
- Apple Books 可顺利打开生成的 EPUB。把文件拖进 Books,或使用「文件 > 导入」。在默认衬线字体下,重排后的页面显示正常。
- Windows
- Microsoft Edge 原生支持 EPUB(把文件拖入标签页即可)。Calibre、Thorium 和 Sigil 都能打开该文件;Sigil 会针对缺失的图片发出警告,并允许你查看 spine。
- Linux
- Calibre 的 ebook-viewer 能打开输出,并在侧边栏中显示章节列表。Foliate 和 KOReader 也能识别 NCX 目录。
- iOS
- iOS Books 通过「文件 > 共享 > Books」导入 EPUB。章节列表显示正常;由于每个 PDF 页面是一章,点击页面边缘会在章节间跳转。
- Android
- Google Play Books、ReadEra 和 Lithium 都能打开输出。Play Books 会从 NCX 提取章节列表。