1. 準備python 環境
通過 python -V 确認已經安裝
2. 安裝pip
mac 執行 sudo easy_install pip
通過指令 pip --version 确認已經安裝
3. 安裝PDF2 依賴
pip install PyPDF2
4. 建立Python 執行腳本(merge.py)
#!/usr/bin/python
import os
import getopt
import sys
from PyPDF2 import PdfFileMerger
def merge_pdf(source_dir, output_filename):
merger = PdfFileMerger()
for name in os.listdir(source_dir):
if ".pdf" != os.path.splitext(name)[1]:
continue
filename = os.path.join(source_dir, name)
print "read %s" % filename
with open(filename, "rb") as input:
merger.append(input)
with open(output_filename, "wb") as output:
merger.write(output)
print "merge success: %s" % output_filename
def usage():
print "python merge.py -d <invoice pdf directory> -o <output merged pdf filename>"
def main():
try:
opts, args = getopt.getopt(sys.argv[1:], "hd:o:", ["help","dir=", "output="])
except getopt.GetoptError as err:
print str(err)
usage()
sys.exit(2)
output = None
verbose = False
directory=""
for o, a in opts:
if o in ("-h", "--help"):
usage()
sys.exit()
elif o in ("-o", "--output"):
output = a
elif o in ("-d", "--dir"):
directory = a
else:
print usage()
sys.exit()
if os.path.exists(directory):
merge_pdf(directory, output)
else:
print("path empty")
if __name__ == "__main__":
main()
5. 準備PDF 檔案
建立一個demo 目錄,并将需要合并的原始PDF 放入demo 目錄下(可以一次合并多個)
6. 執行Python 指令,合并PDF(合并最終結果為 demo.pdf)
python merge.py -d demo/ -o demo.pdf