运行时依赖
安装命令
点击复制技能文档
EPUB 技能 何时使用 EPUB → PDF
- 将 EPUB 书籍、论文或分发文档转为 PDF,便于阅读与分析
- 在通过 pdftoppm 提取文本前,保留版式与格式
- 以固定版式归档 EPUB 内容
- 为后续处理(渲染、分析、合成)准备 EPUB
PDF → EPUB
- 将论文与 PDF 转为可重排 EPUB,供电子阅读器分发
- 压缩 PDF 为更小、适配设备的 EPUB 归档
- 自动侦测章节与结构,提升阅读体验
- 以开放格式重新分发研究材料
工作流 EPUB → PDF(用于分析)
- 检查 calibre → 缺失则安装(brew install calibre)
- 用 ebook-convert 将 EPUB → PDF,带格式选项
- 验证输出 → 确认 PDF 渲染正确
- 渲染页面 → 用 pdftoppm 提取视觉内容
- 分析 → 交给 PDF 技能进行文本提取与合成
PDF → EPUB(用于分发)
- 检查 calibre → 缺失则安装
- 用 ebook-convert 将 PDF → EPUB,设为可重排
- 自动侦测章节 → ebook-convert 扫描结构
- 验证压缩 → 确认 EPUB 小于 PDF
- 归档 → 将 EPUB 存至 research/sources/ 供分发或阅读器使用
用法 EPUB → PDF(基础) ebook-convert input.epub output.pdf
EPUB → PDF(保留版式) ebook-convert input.epub output.pdf \ --pdf-standard-font "sans" \ --paper-size "a4" \ --margin-left 20 \ --margin-right 20 \ --margin-top 20 \ --margin-bottom 20 \ --pdf-mono-family "mono" 注:有效字体族:serif、sans、mono(非 Helvetica 等)
PDF → EPUB(基础) ebook-convert input.pdf output.epub
PDF → EPUB(压缩) ebook-convert input.pdf output.epub \ --output-profile "tablet" \ --paper-size "a4" 注:ebook-convert 自动侦测章节,检查输出 EPUB 结构。
在 Sage 工作流中 EPUB → PDF # 转换 EPUB 为 PDF 供分析 ebook-convert "/path/to/input.epub" "/path/to/research/sources/output.pdf" # 验证大小 ls -lh "/path/to/research/sources/output.pdf" # 渲染首页预览 pdftoppm -png "/path/to/research/sources/output.pdf" "/tmp/preview/page"
PDF → EPUB # 转换 PDF 为 EPUB 供分发 ebook-convert "/path/to/input.pdf" "/path/to/research/sources/output.epub" # 验证压缩 ls -lh "/path/to/input.pdf" "/path/to/research/sources/output.epub" # EPUB 通常仅为 PDF 的 30-50%
依赖 系统包: # macOS (Homebrew) brew install calibre # Ubuntu/Debian sudo apt-get install -y calibre # Fedora/RHEL sudo dnf install calibre
calibre 包含 ebook-convert,支持多种格式: 输入:EPUB、PDF、MOBI、AZW、AZW3、HTML、TXT、DOCX、ODT 输出:EPUB、PDF、MOBI、AZW、AZW3、DOCX、HTML、TXT
输出规范 位置:存至 research/sources/,文件名描述性 命名:用标题或 slug:Author-Title.pdf、title-yyyy-mm-dd.epub EPUB→PDF:大小通常 >100 KB PDF→EPUB:因可重排,大小为 PDF 的 30-50% 清理:验证后删除临时文件
质量检查 EPUB → PDF 后:
- 文件存在且可读
- 大小 >100 KB(过小可能丢图)
- file output.pdf 确认有效
- pdftoppm 成功渲染首页
PDF → EPUB 后:
- 文件存在且可读
- 大小为原 PDF 30-50%
- 解压 EPUB 检查 content.opf 章节
- 用阅读器或 calibre 查看可重排效果
故障排除 EPUB → PDF 崩溃或空白
- 检查 EPUB 损坏:unzip -t input.epub
- 去掉格式选项再试
- 缺失样式表时 calibre 会警告但继续
- 最后手段:解压提取 HTML 转 markdown
PDF → EPUB 章节识别错误
- 加 --verbose 查看 calibre 侦测结果
- 扫描版 PDF 可能失败,先用 pdftotext 提取文本
文件大小问题
- EPUB→PDF <50 KB:可能仅文本
- PDF→EPUB >150%:含图,改用 --output-profile "tablet"
备注
- 版式保留(EPUB→PDF):ebook-convert 维持结构、字体、图片
- 可重排(PDF→EPUB):EPUB 随设备宽度重排,固定版式 PDF 可能结构丢失
- 章节侦测:对含书签或清晰分页的 PDF 效果最佳
- 扫描版 PDF:可能无 OCR,输出纯文本
- 大文件:百兆级 PDF/EPUB 正常
- 转换失败:EPUB 损坏可 unzip -t;加 --verbose 看错误;格式不支持请索取原始档