个人觉得,calibre是最强大的电子书管理软件,它提供电子书籍管理、元信息整理、格式转换、阅读设备书籍同步、新闻下载等功能。但calibre不是一个电子书下载软件,也不是电子书制作工具(而是电子书格式转换工具)。
calibre是一个免费的跨平台电子书籍管理软件,可以完成对各种格式的电子书籍的管理和格式转换。尤其对于拥有手机/iPad等电子阅读器或E-Ink设备的同学来说,这个软件尤其具有价值。如果把电子书想象成MP3音乐的话,calibre的功能可以类比于iTunes。它还可以把网络上的新闻或RSS下载转换成电子书格式,同步到相关的阅读设备中,这是一个非常实用的功能。
calibre可以从Google Books或Amazon等网站下载书籍的元数据,包括书籍的名称、作者、出版社、封面或者读者评价等信息。
calibre下载
http://calibre-ebook.com/download
在线使用视频
http://calibre-ebook.com/demo(演示的是比较老的版本了)
用户手册(英文版)
http://calibre-ebook.com/user_manual/gui.html
主界面
首选项软件设置,太庞大了
连接kindle,会多出与设备相关的功能按钮,分别是发送到设备(即同步pc端电子书到kindle)和设备管理。
完整的用户操作按钮
以下zz lifanxi的blog, http://www.freemindworld.com/blog/2010/101022_calibre_tips_and_faq.shtml(作者经常更新,不错,建议看原地址)
什么是calibre?
calibre是一个一站式的电子书籍管理软件,提供电子书籍管理、元信息整理、格式转换、阅读设备书籍同步、新闻下载等功能。可以近似把它类比为电子书界的iTunes。它使用Python开发,是一个跨平台的自由软件。
calibre不是一个电子书下载软件,它只能从网上(Google Books或Amazon等网站)下载书籍的信息,但不能下载书籍本身。calibre不是电子书制作工具,虽然它提供格式转换功能,且在转换过程中提供一些定制功能,但这些功能非常有限,并不能用于精细控制和从头制作电子书。
calibre的优缺点
优点是功能全,可定制化程度高,可以折腾。缺点是体积庞大、速度慢、BUG较多(不过修得很快)。
中文TXT文件转换成别的格式后全部变为乱码
因为Windows上大部分中文TXT文件是用System Codepage编码的,而calibre默认用UTF-8编码解析。解决方法是:可以把文件转成UTF-8编码后再放入calibre转换格式;也可以在calibre的转换对话框(在主界面上选一个文件,点“转换书籍”,或按C键)中左边选择“外观”,然后在右侧的“输入字符编码”中填入“gbk”或“gb18030”,calibre就可以正常转换格式了。必要的时候也可以在也“首选项”->“常规选项“中的”外观“设置组中做全局的设置。
中文文档转换后内容全部变成拼音
在calibre的转换对话框中左边选择“外观”,去掉“转换unidcode字符到ASCII”的选项。
自动生成的封面图片中的中文字符变成问号
calibre自带并硬编码了一些字体文件,这些字体中不包含中文字符,渲染出来的图片就只能显示成问号了。解决方案是:打开首选项->优化调整->设置在生成默认封面时所使用的字体,分别修改generate_cover_foot_font和 generate_cover_title_font的值来改变封面标题和页脚的字体。比如:generate_cover_title_font=”c:\\windows\\fonts\\simhei.ttf”就可以改用黑体。修改后需要重启calibre才可以生效。如果电脑上没有 simhei.ttf这个字体,也可以换成任意路径下的任意字符文件。
对于0.7.25以前版本的用户:用中文字体替换掉英文字体:在calibre安装目录下找到resources\fonts \liberation目录,用中文字体(比如文泉驿微米黑)替换掉里面的LiberationMono-Regular.ttf和LiberationSerif-Bold.ttf即可(删除原来的字体文件,把中文字体文件放进去并改名成这两个名字)。
还有一个解决方案是直接安装Generate Cover插件,用它可以更精细的定制生成的封面样式。可以在首选项->插件->获取新的插件中直接在线安装。
“保存到磁盘”和“发送到设备”后中文文件名变为拼音
为了保证在各个平台各种文件系统下文件都可以正常的保存,calibre的作者采用了把非英语字符转为英语字符的方式来解决多语言文件名,中文就变成拼音了。对于“保存到磁盘”,可以去掉“首选项”->“保存图书到磁盘”->“将非英语字符转换为对应英语字符”的选项来强制calibre以原始字符保存文件名。不过这个功能有Bug,对于有些字符,保存后会乱码。对于“发送到设备”,目前没有解决方案。不过总的来说,只有极少数阅读器设备(如iRiver Story)的书架是用文件名而不是用图书元信息来显示的,所以对大部分阅读器而言即使用拼音文件名也不会带来太多的不便。
什么叫“排序作者”?
老外的名字常常是名在前,姓在后,而称呼他们的时候又常常要用姓。比如Bill Gates,我们通常称呼他为Gates,这样如果直接用Bill Gates来排序所有的作者,就会不太好找。为了解决这个问题,常常就把“作者”字段设为“Bill Gates”,把“排序作者”字段设为“Gates, Bill”,这样就又好看又好找了。对于中文书籍的作者字段来说,其实是基本不存在这个问题的,直接把两个字段设成相同的就可以了。所以“排序作者”的实际含义是“用于排序的作者名字表示方式”,只不过这个词实在不知道有什么好的翻译方式,就只好用了这个生硬而难以理解的直译。
同理,还有“排序标题”也是类似的意思,就是“用来排序的标题”。
元数据字段太少,可以自定义增加吗?
在“首选项”中的“增加栏目“中添加自定义字段。添加后在书籍列表中就会出现相应的列,在编辑元数据对话框中会多出”自定义元数据“的页面。
书籍在calibre的书库中保存时,能不能不要用拼音文件名?
不能,calibre的作者不会针对这个问题有任何的改变。因为calibre就是这么设计的,它希望你通过它的界面去操作它所管理的文件,并不希望你直接去碰它的书库目录,而且用拼音保存可以有最好的跨平台和跨文件系统的支持。
用calibre抓取新闻时常常抓不下来,或者抓取的内容不完整
你可以提交一个Bug报告给calibre项目或我,附上抓新闻的任务的日志。这类问题需要一个个有针对性的分析。不过有一点要提醒的是:在国内因为众所周知的原因,有些网站和RSS提供商是无法访问的,Google Reader也可能会间歇性的无法访问,你可能要先设法排除一下是不是这个原因引起的新闻抓取失败。
cailbre抓取新闻生成的电子书中,每一个新闻频道的标题中中文都是乱码或方框
可以修改所抓取新闻的Recipe的代码,加入一个自定义的masthead_url。详见:http://www.hi-pda.com/forum/viewthread.php?tid=892915&extra=page%3D1
对于0.8.41以后的calibre版本,首选项->优化调整->设置在生成默认封面时所使用的字体中的generate_cover_title_font值对标题图片生成也会生效。可以参考上面的“自动生成的封面图片中的中文字符变成问号”一问的答案做类似的修改。
任何阅读书籍或书籍格式转换任务都失败。日志中有UnicodeDecodeError字样的错误
可能是由于Windows的用户名中包含非英文字符,导致临时文件目录路径中包含非英文符。 以前calibre在处理非英文临时文件目录时有问题,但在0.8.41以后的版本中,这个问题应该已经被修复。
如果你发现问题仍存在,请向我或calibre项目提交Bug报告,临时应急的解决方案是:在“我的电脑”上右键点击“属性”,然后选择“高级”,再点“环境变量”,在变量TEMP和TMP上面点“编辑”,把原来的默认值%USERPROFILE%\Local Settings\Temp改为不包含非中文字符的路径,比如C:\Temp。
可以用calibre编辑/修改电子书吗?
calibre是电子图书管理工具,所以并不适合用来编辑修改电子书。如果硬要做也只能通过格式转换过程中的正则表达式替换来完成,所以还是建议用别的软件来修改电子书。
对于epub和HTMLZ格式的电子书,calibre提供了“调整书籍”的功能,实际上是把电子书文件解包,用户手工修改后再自动打包起来而已。
calibre可以从豆瓣网下载图书元信息和封面吗?
可以,但这个功能在英文界面下默认是禁用的,只在中文界面下默认启用。但不管有没有自动启用,都可以通过首选项->元数据下载设置页来启用或禁用它。
豆瓣网不提供精确匹配书名和作者的搜索接口,所以有时会返回一些不太靠谱的结果,这个只能靠人工来选择有用的结果了。
我是calibre豆瓣元信息和封面下载插件的作者,如果对此相关功能有疑问,可以直接向我咨询。
calibre可以支持盛大锦书(Bambook)吗?
calibre为Bambook提供了最基本的支持,包括SNB格式的读取和转换,也可以向Bambook上直接传送SNB或PDF书籍。这些功能在Windows, Linux和Mac OS上都可以使用。
如果要使用除了格式转换外与Bambook设备相关的功能,需要先安装Bambook的运行库。盛大Bambook SDK的网站一直在维护中,我个人临时提供的SDK下载地址:http://www.freemindworld.com/tmp/BBSDKAll.zip
SDK解压后,把对应平台的文件放到系统库路径或calibre的lib或DLLs目录下即可。
USB 连接Bambook后,系统应该会增加一个网卡,在安装过云梯的Windows中,这个网卡会自动配置好,不需额外的操作。如果在没有安装过云梯的Windows下或者在Linux/Mac OS X下,需要为它手工配置192.168.250.1的IP。然后只要把Bambook用USB线连接到电脑上,calibre就可以连接这个Bambook设备了。
如果要通过Wi-Fi连接:在calibre的首选项->插件->设备界面插件中选中Bambook Device Interface,点下面的“定制插件”,在“设备IP地址”中输入Bambook的IP地址,然后保存并重启calibre。这时在主界面上的“连接/共享”菜单中就会出现“连接到锦书”,点它就可以通过无线连接到指定IP地址的Bambook。
如果要为calibre写中文的使用说明的话,可能至少得花上一个整天,以下就用一些关键图片来简单地描述一下主要的功能:向calibre添加图书——用calibre转换电子图书格式(以适合kindle)——同步电子图书到kindle,以及从feed源自动下载\制作\同步新闻。
calibre支持这些格式的文件输入
支持对添加进calibre的文件进行元数据设置和修改
calibre支持输出众多电子图书格式
这里显示calibre可管理的文件格式
从内置新闻列表或者自定义新闻源中下载文章,calibre自动生成mobi格式电子档并同步到kindle(如果已经连接kindle的话)。
用calibre自带浏览器阅读刚才制作的China Economic Net 新闻
calibre的输入输出效率不高,这与其开发语言有关。但与其拥有的强大功能对比,还是值得忍耐等候的。
使用calibre制作mobi电子书
kindle下英文书的mobi资源很多,但是中文版的mobi资源很少,大多需要自己制作来完成。自从拿到kindle后,很是折腾了一把,小有心的,和大家分享一下。帖子的内容主要集中在如何通过calibre来自制mobi格式的书籍,集中在txt到mobi的过程
需要使用到的软件
calibre, 下载地址 http://calibre-ebook.com/download
kindle for pc, http://kindleforpc.amazon.com/30427/KindleForPC-installer.exe 用来检查输出后的效果,calibre内置的阅读器速度太慢。
一个好一点的文本编辑器,要支持两个功能:regex(正则表达式)和unicode格式转换功能,我现在用的是emeditor
文本处理/排版工具软件
GIDOT TYPESETTER, http://www.gidot.net/typesetter/
Textforever,可能会用到,主要用于html文件到txt的整理工作 http://www.comicer.com/stronghorse/software/index.htm
我在这里举几个例子大家,按照我的步骤操作一下,你基本上就会使用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里面看到的效果有两点我不太满意,
繁体,看起来还是有点费劲
首行没有两字缩进
看来还是需要自己动手,重新排版一下,好吧,这次我们选择输出成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+.*表示只要以两个空格开始的第(*)章后面跟空格的任意文字串
在替换栏中输入##\0, ##是h2的表示, \0表示寻找到符合正则表达式的字符串。点击replace all,所有章节名前面都加入了##标记
好,下一步我们来保存。calibre在转换中文文档时需要是unicode格式,我们在emeditor中file–>save as,在下面的encode当中选择unicode 8即可
在calibre删除掉刚才的pdb格式的欢乐英雄,然后把刚刚保存的文本文件拖到calibre当中去,点击工具栏的convert books
先编辑书籍的基本信息,metadata,kindle是读取mobi的metadata的信息的,不管你的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… 默认的设置是在h1,h2标记前加入强行分页符,如果你不想这样的话,自己修改
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&feel的extra css当中加入h2 {text-align: center; font-size: large; padding-bottom: 20pt;}
css的语法请查阅http://www.w3schools.com/css/default.asp
calibre中的css可以借鉴一下http://amalthia.mediawood.net/tutorials/ebooks/look.html 里面介绍了一些技巧很是不错
传书
从calibre往kindle 里面传书有两种方法
一种是在calibre里面点击工具栏的connect /share —> start content server, 然后在kindle3的浏览器当中输入地址http://x.x.x.x:8080, x.x.x.x是calibre所在机器的ip,点击书籍对应的mobi链接,下载到kindle中去
不折腾,不root,用calibre批量转换epub,解决中文显示问题
今天nook2入手,折腾了3小时,找到了不root,用calibre批量转换epub的方法。 也许对初学者有用。 之所以走了不少弯路,是因为对calibre不熟悉,存在一些误解。
翻了一些贴子,觉得还是不root好,主要是root后换字体啥的,也不是一劳永逸。买nook就是为了看书,还是少折腾多读书吧。
calibre功能很强大,配置好了之后,倒是可以一劳永逸。。
1. 把calibre配置一下
点最右边的那个齿轮图标(首选项),改两个地方:
a) conversion 中的“常规选项” ,选“外观”(不是interface中的“外观”哦!),在“额外css样式”中,贴上那段著名的CSS代码。 记得点“应用”
b)还是conversion 中的“常规选项”,选“页面设置”,“输出”选nook 。记得点“应用”
不要嫌麻烦,改默认配置,就改这一回。
2.把书添加进calibre ,ctrl-A ,点转换,选批量转换。 记得在输出格式中选“epub”
我们往往是把epub 转 epub ,所以系统会让你确认一下。
转换需要一点时间,耐心等待。
转换后的文件不在最初的那个目录下。 真实路径在这里找:界面右边,书皮下面,有路径两个字。点一下,文件夹就打开了。
3.确认
转换好的epub书,随便找一本,改扩展名为zip。 (windows系统默认看不见扩展名,所以不能改。具体方法自己google)
想必你的系统中有解压软件,解压那个zip,然后就会找到一个css文件 。用记事本打开,看第四行,字体是否已经变了?
font-family: “DroidFont”, serif;
确认完毕后,就可以放心拷贝到nook中了。 (\my files\books\ 那个目录下)
NookePub,我也在用,非常好用的小工具
那段著名的CSS代码是神马?大概说的是这个吧…我贴一下…其实觉得还是Hi-pda的NookePub速度最快最好用…
@font-face {
font-family: “DroidFont”, serif, sans-serif;
font-weight: normal;
font-style: normal;
src: url(res:///system/fonts/DroidSansFallback.ttf);
}
@font-face {
font-family: “DroidFont”, serif, sans-serif;
font-weight: bold;
font-style: normal;
src: url(res:///system/fonts/DroidSansFallback.ttf);
}
@font-face {
font-family: “DroidFont”, serif, sans-serif;
font-weight: normal;
font-style: italic;
src: url(res:///system/fonts/DroidSansFallback.ttf);
}
@font-face {
font-family: “DroidFont”, serif, sans-serif;
font-weight: bold;
font-style: italic;
src: url(res:///system/fonts/DroidSansFallback.ttf);
}
body { font-family: “DroidFont”, serif;}
神碼預設行距,個人覺得很擠,不舒服
想要將行距增加的朋友,可以加line-height這一行,size自行決定
祝大家有更好的閱讀體驗~
body {
font-family: “DroidFont”, serif;
line-height: 1.4;
}