电子书转换为PDF格式
发布时间:2020-12-14 03:50:13 所属栏目:大数据 来源:网络整理
导读:目录 一、moblie 转换 pdf 步骤 二、查看转换后的结果目录 三、将PDF还原文件名且移出至新目录 背景:当我们从网上下载一些电子小说或书籍的时候,一般文件的格式可能是.epub、.mobi等。这些格式的文件需要特定的手机阅读软件才能打开(有些能打开但是会出现
目录
背景:当我们从网上下载一些电子小说或书籍的时候,一般文件的格式可能是.epub、.mobi等。这些格式的文件需要特定的手机阅读软件才能打开(有些能打开但是会出现乱码,排版混乱的情况)。蓝瘦想哭~~ 由于PDF格式的文件查看打开比较方便,所以百度搜索了一下电子书转换为PDF格式的软件,没有几个是好用的,最后终于找到一个比较满意的 calibre 可以批量,且支持多种格式转换【此处并非打广告,这个软件确实还可以】 一、moblie 转换 pdf 步骤
二、查看转换后的结果目录打开转换的书籍的目录,可以看到所有换的书籍以作者名字命名,下一级目录则以书名命名。该目录下包含封面图片,源文件以及转换后的PDF文件,还有 metadata.opf 书籍信息文件 ???? 三、将PDF还原文件名且移出至新目录从转换后的目录来看,源文件的中文名都换成了拼音的名字,看的蓝瘦(一个文件还好说,这么多个...) # -*- coding: utf-8 -*- """ @ author: zzw @ data: 2018-05-06 """ import os import re class FileRename(object): # def __init__(self,np): # self.oldPath = op # self.newPath = np # 获取文件的中文名字 @staticmethod def get_name(file): name = '' name_list = [] f = open(file,'r',encoding='utf-8') for line in f.readlines(): # 格式: <dc:title>string</dc:title> if '<dc:title>' in line: # 得到 string 且将字符串中含有windows 下特殊字符替换 string = line.strip().lstrip('<dc:title>').rstrip('</dc:title>') name = re.sub(r'[/:*?"<>|]','_',string) # 去重(如果name出现相同的行则增加字符串(2)) if name not in name_list: name_list.append(name) else: name = name+'(2)' f.close() return name def file_rename(self,path,n_path): dir_list = os.listdir(path) for fp in dir_list: dir_next = os.path.join(path,fp) if os.path.isdir(dir_next): self.file_rename(dir_next,n_path) elif os.path.isfile(dir_next) and os.path.splitext(dir_next)[1] == '.pdf': # 从 pdf文件同路径下的metadata.opf 文件获取中文名字 src = os.path.dirname(dir_next) + "metadata.opf" if not os.path.exists(n_path): os.mkdir(n_path) new_name = n_path + os.sep + self.get_name(src) + ".pdf" try: # 重命名文件且移动文件 os.rename(dir_next,new_name) except OSError as e: print(e) else: pass if __name__ == '__main__': FileRename().file_rename("F:zzwTestbook","F:zzwTestnewBook") print('done') 最后看一下效果图: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |