更简单的方式让nook支持中文.epub

这是基于python的,需要你的电脑里有python环境。mac的话已默认安装。

第一步:复制下面代码

from xml.dom.minidom import getDOMImplementation, parse, parseString

import zipfile

import sys

font = “”“n<style type=‘text/css’>n

            @page {n

                margin-bottom: 5pt;n

                margin-top: 5ptn

                }n

            @font-face {n

                font-family: “DroidFont”, serif, sans-serif;n

                font-weight: normal;n

                font-style: normal;n

                src: url(res:///system/fonts/DroidSansFallback.ttf)n

                }n

            @font-face {n

                font-family: “DroidFont”, serif, sans-serif;n

                font-weight: bold;n

                font-style: normal;n

                src: url(res:///system/fonts/DroidSansFallback.ttf)n

                }n

            @font-face {n

                font-family: “DroidFont”, serif, sans-serif;n

                font-weight: normal;n

                font-style: italic;n

                src: url(res:///system/fonts/DroidSansFallback.ttf)n

                }n

            @font-face {n

                font-family: “DroidFont”, serif, sans-serif;n

                font-weight: bold;n

                font-style: italic;n

                src: url(res:///system/fonts/DroidSansFallback.ttf)n

                }n</style>”“”

if len(sys.argv) <= 1:

    print ‘Please specify the epub file to convert’

    exit()

originFilePath = sys.argv[1]

targetFilePath = originFilePath[:originFilePath.rfind(’.’)] + ’-varamyr’ + originFilePath[originFilePath.rfind(’.’):]

print ‘Converting ’ + originFilePath + ’ to ’ + targetFilePath

itemList = []

def getHTML(entry):

    if entry.endswith(‘opf’):

        [itemList.append(item.getAttribute(‘href’)) for item in parseString(zf.read(entry)).getElementsByTagName(‘item’) if item.getAttribute(‘media-type’) == (‘application/xhtml+xml’)]

def getData(entry):

    data = zf.read(entry)

    return (data[:data.find(’<head>’) +  len(’<head>’)] + font + data[data.find(’<head>’) +  len(’<head>’):] if ’<head>’ in data else data) if entry[entry.rfind(’/’) + 1:] in itemList else data

zf = zipfile.ZipFile(originFilePath)

newZf = zipfile.ZipFile(targetFilePath, mode=’w’)

[getHTML(entry) for entry in zf.namelist()]

[newZf.writestr(entry, getData(entry)) for entry in zf.namelist()]

newZf.close()

print ‘Converting Completed!’

2.将代码保存为 t.txt ,再改后缀为 t.py
3.打开终端 ,cd到当前t.py 所在目录;
4.输入 python t.py  <你的书籍地址,可以直接拖进来,不含尖括号>
5.你就会在当前书籍的目录看到转换后的 .epub ,完美!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.