[转]使用Calibre 为Kindle 3制作mobi格式电子书

[转载自Hi-pda网站 E-ink 图片见原文

 原文网址 http://www.hi-pda.com/forum/viewthread.php?tid=676657&extra=page%3D1]

 

kindle下英文书的mobi资源很多,但是中文版的mobi资源很少,大多需要自己制作来完成。自从拿到kindle后,很是折腾了一把,小有心的,和大家分享一下。帖子的内容主要集中在如何通过calibre来自制mobi格式的书籍,集中在txtmobi的过程
需要使用到的软件

我在这里举几个例子大家,按照我的步骤操作一下,你基本上就会使用calibre

第一个例子
话说我今天早上想起来,突然想看一本武侠小说,于是就去到一个我经常逛的网站:好读,这个网站已静排的电子书闻名。好,我们随便挑一本书,古龙的欢乐英雄(http://www.haodoo.net/?M=Share&P=0604)。好读支持的格式是PDB的,但是pdb的格式不能在kindle上直接打开,需要转换。先装一个pdb for calibre的插件,http://kanru.github.com/calibre-haodoo/
我们在calibre当中把下载的pdb文件拖到calibre中去,点击工具栏上的“convert books”, 左上角是输入格式,右上角是输出格式,如果你需要不高的话,直接点击ok,就是直接转成了mobi格式了

好的,我们用kindle for pc打开刚才转换好的书,看看效果。

虽然在转换的过程当中完美地将TOC(目录)输出,但是从kindle for pc里面看到的效果有两点我不太满意,

  1. 繁体,看起来还是有点费劲
  2. 首行没有两字缩进

看来还是需要自己动手,重新排版一下,好吧,这次我们选择输出成txt格式的
 

emeditor打开转换好的txt文件,发现还存在问题

  • 繁体
  • 首行没有缩进
  • 段落之间有空行

ok 把文件拷贝到GIDOT TYPESETTER中去,选择左下角的简体字,再点击工具栏中的排版,然后再拷贝回emeditor中去。

经过GIDOT TYPESETTER排版的文本特点:

  • 首行缩进是两个全角空格
  • 段落之间没有空行

为什么我要强调中文空格呢?calibre在转换的时候会自动忽略首行缩进的掉半角空格,所以对于中文文本来说,我们用全角空格来控制

好,下面我们对排版好的文本进行处理。

好的书是自带toc(目录),所以我们要在txt当中加入标记,让calibre在转换的过程当中遇到相应标记时自动生成toc

calibre支持txt中的markdown http://daringfireball.net/projects/markdown/syntax 什么是markdown,请自己google)语法标记。简单来说calibre可以生成三级目录,每一级目录标记可以使用html当中h1,h2,h3….等等。而使用markdown语法在txt格式当中进行html标识时,每一行开头以# (#空格)对应h1 ## ##空格)对应h2,以此类推。

ok,我们现在就需要在每一章标题前面加入#或者##,在emeditor当中按ctrl+h

在寻找栏中填入\s\s(|||||||||||[0-9])+()\s+.*,这是正则表达式的语法,\s表示空格, \s\s表示两个空格, (|||||||||||[0-9]),表示在第和章之间只要符合(|||||||||||[0-9])里面任一个字符即可,.*表示任意字符,所以\s\s(|||||||||||[0-9])+()\s+.*表示只要以两个空格开始的第(*)章后面跟空格的任意文字串

在替换栏中输入## ##h2的表示, 表示寻找到符合正则表达式的字符串。点击replace all,所有章节名前面都加入了##标记

 

好,下一步我们来保存。calibre在转换中文文档时需要是unicode格式,我们在emeditorfile–>save as,在下面的encode当中选择unicode 8即可

calibre删除掉刚才的pdb格式的欢乐英雄,然后把刚刚保存的文本文件拖到calibre当中去,点击工具栏的convert books先编辑书籍的基本信息,metadatakindle是读取mobimetadata的信息的,不管你的mobi文件名是什么。

书籍的封面,我一般去douban

 

点击look&feel, 选中”Remove spacing between paragraphs”, 这个选项确保在转换过程中去掉段与段之间的空行。

本来拍过版的text段间是没有空行的,但是为了保险起见,我们还是选中这个选项的好。

如果不选中这个选项,原有的段间空行会被保留,且首行缩进通过indent size来控制,这是单位是em,不大好刚刚好控制在两个汉字的标准(因为kindle当中的字体是可以放大缩小的),所以我们通过排版,在每行首行前加入两个全角空格来保证首行缩进

 

 

page setup这里面没有什么好设置的,因为epub, lit, mobi都会随着屏幕的大小、字号的大小来自动调整,我们还是循例选择kindle

structure dection这里选择默认的,唯一要注意的就是下方的insert page breaks before… 默认的设置是在h1h2标记前加入强行分页符,如果你不想这样的话,自己修改

table of contents 设置目录项的标识

因为这次我们处理的文件只有一层目录,而且以## h2)来进行标识,我们在level 1 toc里面填入//h:h2,如果有两层目录的话,那么就在level2 里面填入对应的//h:h1, //h:h3之类的tag

 txt input里面一定要选中两个:

treat  each line as paragraph, 把输入当中的文本文件当中每一个回车符前的内容当作一段来处理(注意,不是屏幕上显示的一行行文字,因为窗口大小是可变的)

process using markdown, 把输入文本当中的markdwon标记进行处理

 mobi output, 没有什么设置的,可以选的就是title for table of content改成目录

 点击ok,转换。然后在kindle for pc当中打开看看效果

 

我比较喜欢每一章的标题位置居中,好,我们更改一下设置

calibre支持css,我们点击工具栏的convert books,然后在look&feelextra css当中加入h2 {text-align: center; font-size: large; padding-bottom: 20pt;}的语法请查阅http://www.w3schools.com/css/default.asp
calibre中的css可以借鉴一下http://amalthia.mediawood.net/tutorials/ebooks/look.html 里面介绍了一些技巧很是不错 

css

传书

calibrekindle 里面传书有两种方法

一种是在calibre里面点击工具栏的connect /share —> start content server, 然后在kindle3的浏览器当中输入地址http://x.x.x.x:8080 x.x.x.xcalibre所在机器的ip,点击书籍对应的mobi链接,下载到kindle中去

另外一种就是用usb线连上kindle,在calibre当中选择书籍,选择右键,send to device, 已经传好的书前面有个绿色的钩子标记.

Advertisements

2 responses to this post.

  1. 你好!我的kindle3 不能识别mobi文件,不知咋回事,安装了多看以后能识别这个文件,但是不能打开,请求指教!谢谢!

    回复

    • 可能是你的mobi文件有损坏~~ 如果是所有的都不行…..那就建议你重新安装一下kindle系统 或者安装多看的kindle系统 一般都可以解决

      回复

xmzhangya 发表评论 取消回复

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s

%d 博主赞过: