python合并pdf
import os, time
from PyPDF2 import PdfFileReader, PdfFileWriter
def get_file_list(path):
file_list = [os.path.join(root, filepath)
for root, dirs, files in os.walk(path)
for filepath in files
if str(filepath).endswith('.pdf')]
return file_list if file_list else []
def merge_pdf(filepath, outfile):
output = PdfFileWriter()
output_pages = 0
file_list = get_file_list(filepath)
if file_list:
for file in file_list:
print('full path: %s' % file)
# 读取源pdf文件
input = PdfFileReader(open(file, 'rb'))
# 获取源pdf文件页数
page_count = input.getNumPages()
output_pages += page_count
print('page number: %d' % page_count)
# 将page添加至output
for i in range(page_count):
output.addPage(input.getPage(i))
print('total pages: %d' % output_pages)
# 写入到目标pdf文件中
output_stream = open(os.path.join(filepath, outfile), 'wb')
output.write(output_stream)
output_stream.close()
print('merge pdf done')
else:
print('no pdf files')
def main():
commence = time.time()
file_path = r'e:\python' # 存放合并pdf的文件夹
output_file = 'merged_pdf.pdf' # 合并后的pdf文件名
merge_pdf(file_path, output_file)
closure = time.time()
print('elapsed %s seconds' % (closure - commence))
main()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律