不啰嗦,直接上代碼:
def merger():
in_path = r"D:\Desktop\11\新建文件夾"
out_path = os.path.split(in_path)[0]
#獲取文件夾所有文件
all_File = get_allfile(in_path)
concatenate2(all_file,out_path "\\合并文件.pdf")
#文件合并2
def concatenate2(paths,output):
writer = PdfFileMerger()
for path in paths:
writer.append(path,import_bookmarks=False)
writer.write(output)
writer.close()
如果你跟我一樣是坐在辦公室做資料的,pdf文件合并是經常要幹的一件事。
當然你可能會覺得,這麼簡單的文件合并,用Adobe Acrobat Pro 就可以輕松完成了,何必要大費周章用python。
是的,處理pdf文件Adobe Acrobat Pro幾乎是必備的,簡單的合并當然用它就夠了。但是用Adobe Acrobat Pro合并比較大的pdf文件的時候,經常就會出現 “正在合并重複的字體” 的提示,這時候常常等很久也合并不成功。用這個小工具來合并就沒有這種問題了,而且大批量合并的時候速度更快。
合并文件出現的問題
當然這個小工具隻是抛磚引玉,當你遇到大批量又比較複雜的合并的時候,改寫下這個小工具,會讓你的工作事半功倍。
例如我下面針對我的一個工作内容,簡單改寫的案例:
工作内容:
在 “new_file_1” 文件中有116個pdf文件,同樣在“sign”的文件夾中也有116個文件。這兩個文件夾中的116個pdf文件的名稱是一樣的(之前拆分出來打印簽名,現在要再合并回去),現在需要将這兩個文件的pdf文件一一對應的進行合并,合并好的文件再以同樣的文件名稱保存到“sign2”的文件夾中。
文件夾
批量pdf文件
改寫的代碼:
def merger2():
in_path = r"D:\完全共享\追溯表\2021\沃利\完工資料掃描版\01格栅布置圖\new_file_1"
in_path2 = r"D:\完全共享\追溯表\2021\沃利\完工資料掃描版\01格栅布置圖\sign"
out_path = r"D:\完全共享\追溯表\2021\沃利\完工資料掃描版\01格栅布置圖\sign2"
for fileName in get_allfile(in_path):
#獲取文件夾所有文件
all_file = [fileName,in_path2 "\\" os.path.split(fileName)[1]]
concatenate2(all_file,out_path "\\" os.path.split(fileName)[1])
類似這樣批量的工作,用Adobe Acrobat Pro去一個個手動合并,是不是得累死條狗。
簡單地改寫下工具代碼,就能迅速提供你的工作效率。所以趕緊收藏起來吧,或許哪天你也能派上用場了。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!