基于Python打造一個PDF合并器(支持批量拖拽合并)
有沒有遇到過這種情況:
- 多個 PDF,你想合成一份復(fù)習(xí)資料?
- 下載了很多發(fā)票憑證、行程單,想合并成一份報銷文件?
- 每次打開 Acrobat 合并太麻煩,或者要付費(fèi)?
用 Python,只需幾行代碼,立刻搞定!
效果展示


安裝依賴
pip install PyPDF2 rich
核心代碼:merge_pdfs.py
import sys
from pathlib import Path
from PyPDF2 import PdfMerger
from rich import print
from rich.console import Console
console = Console()
def merge_pdfs(file_paths, output_path="merged.pdf"):
merger = PdfMerger()
for path in file_paths:
console.print(f"?? 正在合并:[green]{path}[/]")
merger.append(str(path))
merger.write(output_path)
merger.close()
console.print(f"\n? 已輸出合并文件:[bold yellow]{output_path}[/]")
if __name__ == "__main__":
if len(sys.argv) < 2:
print("[red]? 請至少指定兩個 PDF 文件[/]")
sys.exit(1)
input_files = [Path(f) for f in sys.argv[1:]]
merge_pdfs(input_files)
拖拽也能用!
Mac 或 Windows 上,可以直接把 PDF 拖到終端窗口運(yùn)行:
$ python merge_pdfs.py [拖進(jìn)來的文件1] [文件2] ...
拓展玩法
- 支持合并任意數(shù)量的 PDF
- 可定制輸出名稱:
python merge_pdfs.py a.pdf b.pdf c.pdf -o all.pdf - 加入 GUI:配合 Tkinter 做個小工具
實用場景
- 發(fā)票合并報銷
- 學(xué)習(xí)資料整合
- 一鍵打包作業(yè)/合同/申請材料
到此這篇關(guān)于基于Python打造一個PDF合并器(支持批量拖拽合并)的文章就介紹到這了,更多相關(guān)Python PDF合并器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3內(nèi)置模塊之json編解碼方法小結(jié)【推薦】
這篇文章主要介紹了Python3內(nèi)置模塊之json編解碼方法小結(jié),本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05
Python使用中文正則表達(dá)式匹配指定中文字符串的方法示例
這篇文章主要介紹了Python使用中文正則表達(dá)式匹配指定中文字符串的方法,結(jié)合實例形式分析了Python正則匹配及字符編碼相關(guān)操作技巧,需要的朋友可以參考下2017-01-01
使用Python將TS文件轉(zhuǎn)換為MP4的操作方法
在多媒體處理中,將不同格式的視頻文件進(jìn)行轉(zhuǎn)換是一項常見的任務(wù),TS(Transport Stream)是一種常用的流媒體格式,而MP4則是更為廣泛使用的通用視頻格式,本文將介紹如何使用Python和FFmpeg工具將TS文件轉(zhuǎn)換為MP4文件,需要的朋友可以參考下2025-04-04
Python實現(xiàn)兩組數(shù)據(jù)縱向排序
在數(shù)據(jù)分析和處理過程中,排序是一項非常常見的操作,本文將詳細(xì)講解如何使用Python實現(xiàn)兩組數(shù)據(jù)的縱向排序,并提供完整的開發(fā)思路和代碼示例,需要的可以參考下2024-12-12
Python使用matplotlib.pyplot?as?plt繪圖圖層優(yōu)先級問題
這篇文章主要介紹了Python使用matplotlib.pyplot?as?plt繪圖圖層優(yōu)先級問題.文章圍繞主題展開詳細(xì)內(nèi)容需要的小伙伴可以參考一下2022-04-04
python爬蟲之urllib庫常用方法用法總結(jié)大全
urllib是python自帶的請求庫,各種功能相比較之下也是比較完備的,下面這篇文章主要給大家介紹了關(guān)于python爬蟲之urllib庫常用方法用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-11-11
Python動態(tài)配置管理Dynaconf的實現(xiàn)示例詳解
這篇文章主要為大家介紹了Python動態(tài)配置管理Dynaconf實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07

