AI 写好的长文怎样做成 EPUB:章节目录、图片和阅读顺序一起交付
把长文做成EPUB,需要保留完整章节、阅读顺序、目录与本地资源。本例使用明确的Markdown子集:一章一个H1、H2/H3小标题、普通多段、书内链接和本地PNG/JPEG/GIF。未支持的结构会报错,不把长文悄悄裁成第一段。
先按支持的子集准备源稿
附件三章包含多段文字、二级标题、相对图片和书内链接。每章以“# 标题”开头,空行分段;连续普通行合成同一段。列表、表格、代码块、强调和原始HTML不属于这个最小转换器的范围,遇到它们会停止。需要这些格式时应换用支持它们的真实转换器,再重新核对内容,不能删掉报错行只为得到一个成品文件。
目录和正文导航分别建立
EPUB的manifest列出资源,spine规定阅读顺序,nav提供章节目录。H1生成chapter-1这类章节ID,后续H2/H3按次序生成chapter-1-section-1等ID。源稿可以用“[文字](#chapter-1-section-1)”跳到本章小节,用chapter-2.md#chapter-2跳到另一章;导出时改为对应XHTML路径并核对锚点存在。文件名排序不代替spine,目录能点也不能证明正文都保留。
图片先本地核查再放进书中
图片语法只接受样例目录内的相对文件。程序核对文件实际存在、解析后路径没有逸出,再用Pillow验证PNG、JPEG或GIF字节,按相同相对位置写入EPUB。外链、父目录路径、缺图和原始script或事件属性HTML都会停止;文字与属性通过转义输出,不把源稿HTML直接执行。已有原图不会被重跑覆盖,修改允许的本地图片后可以重新打包。
成品重开后逐段核对
guide.epub由EbookLib实际生成并回读,另外解包核对三章spine、nav、每个内部链接和图片字节。回归稿包含首段、第二段、小标题与第三段,均须在XHTML中找到;这能发现“目录正常、长文内容却丢失”的错误。epub-preview.html可先看文字与图片,最终仍要在目标阅读器里点目录、跳小节并翻页,浏览器预览不代表所有阅读器的排版表现。
失败命令模拟缺第二章;独立测试还覆盖不支持的列表、原始HTML、缺图、外链和越界图片。技术打包不替代事实、版权或文稿审校。这个包使用原创合成短文和图形,没有调用模型,也没有声称兼容完整Markdown;替换成长文时,保留源稿与原图,核对各章完整文字后再交付。
交接书籍时同时给出可编辑源稿与成品,让后续修改仍能从源稿重建。若要增加新章节,先更新目录与阅读顺序,再检查旧章内的相对链接是否仍正确;移动文件夹但不调整引用,会产生只在离线阅读时才暴露的断图。
下载与复现
下载完整样例包,解压到一个新文件夹;也可查看全部文件清单和主脚本。使用Python 3.10或更新版本,在解压目录运行。依赖写在安装清单,建议在自己创建的虚拟环境安装。
python -m pip install -r requirements.txt
python -B run.py
python -B run.py --negative
先查看主要结果,再修改输入重跑;已有输入会保留,结果写回同目录。边界命令可能故意非零退出,也可能输出明确的不适用状态,按正文说明判断,不把所有非零退出都当成安装故障。
依据与延伸阅读
资料核对日期为2026年10月24日。一手资料1:EPUB打包包含manifest、spine及导航文档,资源引用需完整。
相关参考2:Pandoc文档说明文档转换与引用处理边界;本文实际使用EbookLib生成本地成品。
继续阅读:DeepTutor 的 book 模块:把知识库变成一本书的四段流水线;AI 初稿里的引用编号一改就乱,怎样用稳定引用键生成参考文献表;AI 生成的长 PDF 翻页很费劲,怎样补一份能直接跳章节的书签目录。
留言讨论
评论发布后会被人工复核,违规内容将被删除。
如果发表没有反应,可以前往联系我们告诉我们。