虽然有很多现存的APP可以轻松拼接PDF文件, 不过免费的担心广告,就用python简单写了一个短程序, 可以很容易做到
1.开辟一个专门做拼接的文件夹, 我的叫"test":
NewDir=r"C:\Users\YX\Documents\Lennovo\test"
2. 把需要拼接的pdf文件都转到该文件夹中
下面是程序代码
先下载PyPDF2:
pip install PyPDF2
然后代码如下:
import os
from PyPDF2 import PdfFileReader, PdfFileWriter,PdfFileMerger
NewDir=r"C:\Users\YX\Documents\Lennovo\test" #working director
NewName="test.pdf"
os.chdir(NewDir) #file operation will be done in the NewDir
print(os.getcwd())
fnames=[] #to read files
for i in os.scandir(NewDir):
if (i.is_file() and i.name.endswith(".pdf")):
fnames.append(i.name)
def MergePdf():
MergedPdf=PdfFileWriter()
TotalPages = 0
for fn in fnames:
input = PdfFileReader(open(fn, "rb"))
pages= input.getNumPages()
TotalPages += pages
print(fn,"page numbers:%d" % pages)
for i in range(pages):
MergedPdf.addPage(input.getPage(i))
print("total pages:",TotalPages)
NewFile = open(os.path.join(NewDir, NewName), "wb")
MergedPdf.write(NewFile)
NewFile.close()
def MergePdf2():
MergedPdf = PdfFileMerger()
for fn in fnames:
f=open(fn,"rb")
MergedPdf.append(PdfFileReader(f))
f.close()
NewFile = open(os.path.join(NewDir, NewName), "wb")
MergedPdf.write(NewFile)
MergePdf()
注意:
1.pdf 文件的文件名必须与程序中的i.name.endswith(".pdf") 一致(要么都是大写PDF,要么都是小写pdf
2. 提供了2个子程序, 都可以用来拼接