首頁>技術>

背景

由於工作原因,經常需要將多個pdf檔案合併後列印,有時候上網找免費合併工具比較麻煩(公司內網不能訪問公網),於是決定搞個小工具。

具體實現

需要安裝 PyPDF2

pip install PyPDF2

程式碼

# -*- coding=utf-8 -*-"""功能: 將當前目錄下的所有pdf檔案合併為一個檔案,新檔案命名為 all_merge_年月日_時分秒.pdf被合併的pdf檔案不包含 all_merge 開頭的檔案"""import PyPDF2import pathlibimport datetimedef do_merge(the_dir):    prefix = 'all_merge'    output_file = '%s_%s.pdf' % (prefix, datetime.datetime.now().strftime('%Y%m%d_%H%M%S'))    pdf_files = []    path_dir = pathlib.Path(the_dir)    for filename in path_dir.iterdir():        if not filename.is_file():            continue        if filename.name[0:len(prefix)] == prefix:            continue        elif filename.name.endswith('.pdf'):            pdf_files.append(filename.name)    pdf_files.sort(key=str.lower)    pdf_writer = PyPDF2.PdfFileWriter()    print("find %d pdf file(s)." % len(pdf_files))    idx = 0    for f in pdf_files:        idx += 1        print("%d: %s" % (idx, f))        pdf_obj = open(f, 'rb')        pdf_reader = PyPDF2.PdfFileReader(pdf_obj)        for page_num in range(0, pdf_reader.numPages):            page_obj = pdf_reader.getPage(page_num)            pdf_writer.addPage(page_obj)    pdf_output = open(output_file, 'wb')    pdf_writer.write(pdf_output)    pdf_output.close()    print("merge file:[ %s ]" % output_file)    input("Press any key to exit.")if __name__ == "__main__":    do_merge(".")
效果

13
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • VSCode Vue3.x Git版本控制(Gitblit)