切割
import PyPDF2
#打开一个可读的pdf
pdfReader = PyPDF2.PdfFileReader('GPT-2.pdf')
#获取pdf总页数
pdfnums = pdfReader.numPages#24
# m每个文档分多少页
group_num = 4
# 计算查分份数
split_num = pdfnums // group_num +1
for num in range(1,group_num+1):
#创建空白的pdf对象
pdfWriter = PyPDF2.PdfFileWriter()
with open(f'GPT-2_{str(num)}.pdf','ab+') as newFile:
#提取指定页面范围
for pageNum in range(split_num*(num -1), split_num*num if num != group_num else pdfnums):
#获取每一页的内容
pageObj = pdfReader.getPage(pageNum)
#将每一页的内容添加到第一次循环创建的空白文档对象中
pdfWriter.addPage(pageObj)
#保存并写入本地文件,并对每个文档命名
pdfWriter.write(newFile)
合并
import PyPDF2
def PDFmerge(pdfs,output):
#创建一个pdf文件合并对象
pdfMerger = PyPDF2.PdfFileMerger()
#逐个添加pdf
for pdf in pdfs:
with open(pdf,'rb') as f:
pdfMerger.append(f)
#将内存中合并的pdf文件写入
with open(output,'wb') as f:
pdfMerger.write(f)
def main():
#需要合并的pdf名称
pdfs = ['GPT-2_1.pdf','GPT-2_2.pdf','GPT-2_3.pdf','GPT-2_4.pdf']
#合并完成的pdf名称
output = 'GPT-2_new.pdf'
#调用PDFmerge函数,进行合并
PDFmerge(pdfs,output)
if __name__ == '__main__':
main()
PS: 不知道为啥切完大小很奇怪,不是理想大小 _!!!