抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

为了看书,手动校对了一本PDF。在此记录一些小经验,以供来者阅读。校对还是蛮累的。

前期格式转换

PDF下载自zlibary,是已经OCR过的版本。(如果没OCR过,abbyy的精度似乎不是非常高,但也基本能用)
所以用abbyy转化成docx,再用pandoc导出成md格式,用VScode编辑md格式下的文本。这样可以规避页眉页脚之类的错漏,或者说起码极大地减少这些问题。

引号转义

pdf的OCR对于标点的转化不如文字精确,往往把引号识别为英文引号,包括单双引号都有此问题。
同时,一些含引号的文本被pandoc转化后会变成形如\“文本\”的字样,带有反斜杠。在VScode里打开替换面板,进行替换处理就可。
参考:采用正则表达式,把 \\“([\s\S]*?)\\”替换为 “$1”

目录和其标识符处理

扫描前文的目录,文中的标题前会加上形如[]{#bookmark24 .anchor}这样的标识符,搜索关键字,连同最开头OCR出来的糟糕目录一起删掉就可以。

blockquote的错误识别

有大段大段的文字被识别为引用,也就是在分段前加上了> 这样的。需要谨慎分辨一下到底哪些文段是正经引用,哪些是识别错误,两者都会被后文段落错裂的批量替换影响,记得重新过一遍。

段落错裂

因为直接转自PDF,分段非常随性,往往有隔行的分段和不隔行的分段两种,另外还有一些零星的很难被规则识别出来的分段,需要在最后过一遍的时候留意。
参考:采用正则表达式,把([^\n\s])\n([^\n\s])替换为$1$2

空格

简单过一遍直接搜索替换就可,留意一下不要把英文部分的空格替换掉就可以,至于md格式的#号标题和脚注[^1]:后面的空格,可以全部替换之后,搜索这个格式重新替换成带有空格的版本。

脚注处理

如果是嵌入正文的、未被识别出来的脚注,会很难处理。需要手动调整其位置和格式,最好放在每个小标题结束的位置,这样数量比较少比较好查看。在导出为epub之后,软件会自动把这些脚注放到大章节的最后。

后期格式转换

最终用pandoc转换已经修改完善的md文件为epub文件。指令里最好加上metadata指令,不加的话,最好用calibre进行一下简单的修饰。

最终修饰和润色

用calibre修饰最终生成的epub文件。市面上据说有更加专业的sigil,制作epub更加简单专业。
pandoc自动生成的css似乎自带了背景色,最后是用了一个ai生成的css替代了一下。
设置封面并且润色书籍(快捷键P),嵌入封面和其他元数据。

亡羊补牢

等到上传完成之后,我才重新把最新的一版传到了我的kindle上读,但是突然发现,一些二级标题居然被归在脚注里了,原因是,## 标题前面如果没有空行,直接连着脚注的话,这一行就会被识别为脚注文本,所以会缺目录,实在是很严重的失误,所以在zlib上传一份新的,然后在新版本书的报告问题里写上一段英文,大意就说,本书是某某书的修改版,请合并两本书并保留较新的那一版就好了。

评论