Beispiel #1
0
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()
Beispiel #2
0
 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)
Beispiel #3
0
 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文件路径添加到列表控件中
Beispiel #4
0
 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)