关于使用ChainLP在生成mobi格式时toc书签不生效的解决方法

最近经常使用ChainLP将图片格式的漫画生成电子书,以便用于在kindle上观看。ChainLP比起常用的 Kindle Comic Converter,Kindle Comic Creator 等工具来说使用较为复杂,但可定制性较强,虽然该软件早在几年前就已经停止更新,但其到现在依旧可用。

但其在转换为mobi格式时出现了一些问题:填写在toc单元格中的书签并不起作用

kindle中无法识别出添加的书签

而转换为pdf格式则没有这种问题

PDF格式能正常显示书签

但kindle对PDF的格式支持较差,于是在网上搜集资料后,发现需要采用曲线救国的方法:先将漫画转为epub格式,处理后再转换回mobi格式

操作过程如下:

  1. 先添加好书签,再将漫画生成为epub格式
  2. 使用解压缩工具将生成的epub文档打开,编辑其中的metadata.opf文档
  3. 将metadata.opf中的 <spine page-progression-direction="rtl"> 替换为 <spine toc="ncx" page-progression-direction="rtl"> 
  4. 保存修改,将修改过的epub文档使用KindleGen重新生成为mobi文档
  5. 使用kindlestrip或其他工具删除生成的mobi文档中自带的源数据,或者在使用KindleGen时就添加 -dont_append_source xxx.epub 参数来禁止生成源文档

按上述步骤尝试,先生成epub,修改元数据,并打开

但当在我使用这种方法的时候,发现即使添加了toc字段,mobi文档依旧无法显示目录,这时候我开始怀疑,是否在生成epub文档的时候,就已经无法显示目录了呢?

于是我直接打开了epub阅读器,将生成的epub文档打开,发现果然生成的epub文件中就已经没有了目录

我开始反思问题出在了哪里,用压缩工具打开epub文件,查看其中的toc文件:

toc.ncx里存在书签相关信息

 

 发现在toc.ncx里的确是存在书签信息的,看来问题出在其他地方

生成的pdf里有书签,说明问题可能出在mobi或epub的生成选项

打开edit菜单中的Preferences选项,在Output选项卡里查找和epub或mobi有关的内容,发现了一个这样的选项

Preferences选项卡

 

 可能是因为该程序年代过于久远,在现代系统中显示有些问题。这个Pages的选项在最新的V40-17版本中是默认未勾选的

(当然也可能是我之前手滑把它关闭了)

猜想该选项和我们遇到的问题有关,勾选它,按照上面修改元文件的操作走一次,再重新生成epub文件并打开

epub查看书签

 

 书签出现了,测试成功

再转换为mobi文档测试

在kindle中查看书签是否添加成功

测试成功

  至此,ChainLP转换mobi添加的书签信息未被识别的问题已经被解决了

 

posted @ 2020-10-15 22:01  久遠  阅读(653)  评论(0)    收藏  举报