自己动手 MOBI 转 PDF

最近想多背些单词,扩充下词汇量,网上兜了一圈发现大家对韦小绿【是什么自己到网上收下,我就不列出来了,以免引起纠纷】评价很高, 原来想去到书城买本进口原版的看,想来想去那么厚,虽然很轻但是还是带起来不方便啊。平时身上都带着一本M92和一部V9+已经塞满小包了。于是就邪恶的在网上找了本mobi格式的第二版,打算放在M92里。PS:现在知道生活在天朝是多么的幸福吧。 尼玛,谁知道在M92里显示出来有2000多页,实体书也就500多页。音标也无法正确显示,原因是音标都是用图片拼接的。不知道是不是M92的原因,KINDLE的没有试过。在网上找转换工具想把MOBI转成PDF的,结果音节正常了,但是还是有2000多页,每页空白很大,看起来很不爽啊。智能的去掉空白,一般转化软件还真做不到。没办法只有自己手工的改了。

原理,其实MOBI是个zip包,你可以把后缀改成zip,然后用解压缩软件打开,再修改里面的HTML文件。都是HTML文件了还是有什么我们不能改的??赶紧动手!

1. 把所有HTML文件里的把除了BODY标签里的保留下来,其他的统统删掉。

sed -i "1,7d;$d" *.html
sed -i "s/<\/body>//g" *.html

2. 把所有处理完的HTML 内容集中在一个文件里,这里因为文件名特殊,要简单处理下。

import os
for i in range (0,2005):
    if i == 0 :
        strs = "000"
    elif i > 0 and i < 10:
        strs = "00" + str(i)
    elif i>=10 and i<100:
        strs = "0" + str(i)
    else :
        strs = "" + str(i)
    finalstr = "D:\\test\\1\\xxxxxxxxxxx_" +strs+".html"
    cmds = "cat " + finalstr + " >> d:\\test\\all2 "
    print cmds
    os.system(cmds)


3. 处理音标。 就是把所有的标签删掉,注意要避免VI下的贪婪匹配,防止删掉不该删的东西。
%s/]*\/>//g

4. 微调格式

:%s/. /
/g

5. 把生成的文件中头尾加入在第2步中删除的BODY 标签之外的东西。在浏览器中打开,拷到WORD中,然后另存为PDF. 


6. 大功告成。如果大家有好的转换软件可以告诉我哈。

查看前后效果对比:

未处理前 2000多页:


处理后 500多页:

            


你可能感兴趣的:(自己动手 MOBI 转 PDF)