def mergefiles(path, output_filename, import_bookmarks=False): ''' 遍历目录下的所有pdf将其合并输出到一个pdf文件中, # 返回数字(将按该数字排序)输出的pdf文件默认带书签, 书签名为之前的文件名。默认情况下原始文件的书签不会导入,使用import_bookmarks=True可以将原文件所带的书签也 导入到输出的PDF文件中 ''' merger = PdfFileMerger() filelist = common.getfilenames(filepath=path, filelist_out=[], file_ext='.pdf') # 获取要合并的PDF文件 if len(filelist) == 0: print("当前目录及子目录下不存在pdf文件") sys.exit() for filename in filelist: f = codecs.open(filename, 'rb') # 使用codecs的open()方法打开文件时,会自动转换为内部Unicode编码 file_rd = PdfFileReader(f) short_filename = os.path.basename(os.path.splitext(filename)[0]) if file_rd.isEncrypted == True: print('不支持的加密文件:%s' % (filename)) continue merger.append(file_rd, bookmark=short_filename, import_bookmarks=import_bookmarks) f.close() # 关闭文件对象 out_filename = os.path.join(os.path.abspath(path), output_filename) # 将文件名和路径连接为一个完整路径 merger.write(out_filename) merger.close()
def sourcebrowseClick(self): dir_path = QFileDialog.getExistingDirectory(self, "请选择源文件目录", r"E:\learn\test\doc") if dir_path != "": # 判断已经选择了源文件目录 self.sourcepath.setText(dir_path) self.listword.clear() # 清空列表 global filelist filelist = common.getfilenames(dir_path,[],'.doc') # 获取Word文档 self.listword.addItems(filelist)
def sourcebrowseClick(self): # 单击浏览源文件夹按钮所触发的方法 # 打开选择文件夹的对话框 dir_path = QFileDialog.getExistingDirectory(self, "请选择源文件目录", r"E:\learn\test\doc") if dir_path == "": # 处理没有选择路径的情况,这里为直接返回 return self.sourcepath.setText(dir_path) # 将获取到的文件夹路径添加到文本框控件中 self.listword.clear() # 清空列表 global filelist # 定义全局变量 filelist = common.getfilenames(dir_path,[],'.doc') # 获取Word文档路径 self.listword.addItems(filelist) # 将获取到的Word文件路径添加到列表控件中
def sourcebrowseClick(self): # 获取用户选择的文件夹 dir_path = QFileDialog.getExistingDirectory(self, "请选择源文件目录", r"E:learn\test\doc") if not dir_path: return # 将获取的文件夹路径添加到文本框控件中 self.sourcepath.setText(dir_path) self.listword.clear() global filelist filelist = common.getfilenames(dir_path, [], '.doc') self.listword.addItems(filelist)