pdf文件合并批量合并,转Word--python一招教会你

简介: pdf文件合并批量合并,转Word--python一招教会你

前言


在平时的日常学习生活或办公生活中,想必大家有过将pdf文件做批量合并,转Word等方面的操作吧,今天这篇文章就教大家使用python来实现pdf文件的批量合并,转Word操作。临近学期末,我这里就有一个这样的需求,在网页上有着几套选择题,我把它们存为pdf保存在了本地。为了更加方便的去查找相关字眼的题目,我就编写了一些python代码将多个pdf文件进行合并,并实现pdf文件转Word的功能。温馨提示:这些功能在现实中是需要收费的,作为我的粉丝,恭喜你们又学到了一招,学到就是赚到。丨

本案例很实用,建议点赞收藏!!!!

1.环境准备


   这里使用的第三方模块有:pdf2docx、PyPDF2,如果有未安装模块的伙伴可以在终端上使用以下命令进行安装:


1pip install pdf2docx 
2pip install PyPDF2


出现Successful代表模块安装成功!


 

2.功能函数模块的编写

2.1批合并功能的实现    

 

在前期环境准备工作完成以后,现在我们要做的就是编写处理业务功能的函数模块啦!

首先来编写实现多个pdf文件批合并功能,编写函数pdf_merge(),并提供两个参数:1、存放多个pdf文件的目录,2、批合并后生成的文件名。这里用os模块的listdir方法帮我们列出目录中的文件并给我们返回一个列表。在对该列表进行遍历并过滤出pdf文件,使用列表推导式的方式将目录中的pdf文件存入处理好的列表当中。并将列表中的pdf文件批量添加到该pdf文件管理器中,最后在将pdf管理器中的pdf文件对象进行写入(合并操作)就完成pdf的合并操作啦。

1def pdf_merge(target_path, fileName):
 2    '''
 3    :param target_path: 存放pdf文件的目录
 4    :return:转换后的文件名
 5    '''
 6    # target_path = '题目'
 7    pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
 8    pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]
 9
10    file_merger = PdfFileMerger()
11    for pdf in pdf_lst:
12        file_merger.append(pdf)  # 合并pdf文件
13
14    file_merger.write(fileName)  # 合并为merge.pdf
15    return fileName


2.2 pdf文件转Word功能的实现

现在开始编写pdf转word功能,定义函数并传入一个文件对象作为参数,这里先对pdf文件对象进行文件类型的判断,判断它是否为pdf文件。如果为pdf文件,就调用pdf2docx模块的Connverter类对该pdf文件对象进行处理,不为pdf文件就不对文件进行处理,并输出不是一个pdf文件。

1def pdf_docx(file):
 2    '''
 3    :param file:pdf文件
 4    :return:
 5    '''
 6    if file.endswith('pdf'):
 7        docx_file = file.replace('pdf', 'docx')
 8        pdf = pdf2docx.Converter(file)
 9        pdf.convert(docx_file, start=0, end=None)
10        pdf.close()
11        print(f'{docx_file}\t文件转为完成!')
12    else:
13        print(f'{file}不是一个pdf文件!')


以上就是两个功能函数的实现,现在来运行代码看看吧~



代码运行完毕,可以看到批合并的pdf文件和pdf转换的文件已经生成好啦~

最后奉上全部代码:


1import os, pdf2docx
 2from PyPDF2 import PdfFileMerger
 3
 4
 5def pdf_merge(target_path, fileName):
 6    '''
 7    :param target_path: 存放pdf文件的目录
 8    :return:转换后的文件名
 9    '''
10    # target_path = '题目'
11    pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
12    pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]
13
14    file_merger = PdfFileMerger()
15    for pdf in pdf_lst:
16        file_merger.append(pdf)  # 合并pdf文件
17
18    file_merger.write(fileName)  # 合并为merge.pdf
19    return fileName
20
21
22def pdf_docx(file):
23    '''
24    :param file:pdf文件
25    :return:
26    '''
27    if file.endswith('pdf'):
28        docx_file = file.replace('pdf', 'docx')
29        pdf = pdf2docx.Converter(file)
30        pdf.convert(docx_file, start=0, end=None)
31        pdf.close()
32        print(f'{docx_file}\t文件转为完成!')
33    else:
34        print(f'{file}不是一个pdf文件!')
35
36
37if __name__ == '__main__':
38    file = pdf_merge('题目', 'merge.pdf')
39    pdf_docx(file)


以上就是今天的全部内容了

相关文章
|
11天前
|
机器学习/深度学习 存储 算法
解锁文件共享软件背后基于 Python 的二叉搜索树算法密码
文件共享软件在数字化时代扮演着连接全球用户、促进知识与数据交流的重要角色。二叉搜索树作为一种高效的数据结构,通过有序存储和快速检索文件,极大提升了文件共享平台的性能。它依据文件名或时间戳等关键属性排序,支持高效插入、删除和查找操作,显著优化用户体验。本文还展示了用Python实现的简单二叉搜索树代码,帮助理解其工作原理,并展望了该算法在分布式计算和机器学习领域的未来应用前景。
|
12天前
|
人工智能 编解码 文字识别
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具
OCRmyPDF 是一款开源命令行工具,专为将扫描的 PDF 文件转换为可搜索、可复制的文档。支持多语言、图像优化和多核处理。
140 17
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具
|
7天前
|
文字识别 BI
【图片型PDF】批量识别扫描件PDF指定区域局部位置内容,将识别内容导出Excel表格或批量改名文件,基于阿里云OCR对图片型PDF识别改名案例实现
在医疗和政务等领域,图片型PDF文件(如病历、报告、公文扫描件)的处理需求广泛。通过OCR技术识别这些文件中的文字信息,提取关键内容并保存为表格,极大提高了信息管理和利用效率。本文介绍一款工具——咕嘎批量OCR系统,帮助用户快速处理图片型PDF文件,支持区域识别、内容提取、导出表格及批量改名等功能。下载工具后,按步骤选择处理模式、进行区域采样、批量处理文件,几分钟内即可高效完成数百个文件的处理。
49 8
|
28天前
|
机器学习/深度学习 人工智能 文字识别
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
Zerox 是一款开源的本地化高精度OCR工具,基于GPT-4o-mini模型,支持PDF、DOCX、图片等多种格式文件,能够零样本识别复杂布局文档,输出Markdown格式结果。
113 4
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
|
21天前
|
监控 网络安全 开发者
Python中的Paramiko与FTP文件夹及文件检测技巧
通过使用 Paramiko 和 FTP 库,开发者可以方便地检测远程服务器上的文件和文件夹是否存在。Paramiko 提供了通过 SSH 协议进行远程文件管理的能力,而 `ftplib` 则提供了通过 FTP 协议进行文件传输和管理的功能。通过理解和应用这些工具,您可以更加高效地管理和监控远程服务器上的文件系统。
51 20
|
27天前
|
存储 数据采集 数据处理
如何在Python中高效地读写大型文件?
大家好,我是V哥。上一篇介绍了Python文件读写操作,今天聊聊如何高效处理大型文件。主要方法包括:逐行读取、分块读取、内存映射(mmap)、pandas分块处理CSV、numpy处理二进制文件、itertools迭代处理及linecache逐行读取。这些方法能有效节省内存,提升效率。关注威哥爱编程,学习更多Python技巧。
|
28天前
|
存储 JSON 对象存储
如何使用 Python 进行文件读写操作?
大家好,我是V哥。本文介绍Python中文件读写操作的方法,包括文件读取、写入、追加、二进制模式、JSON、CSV和Pandas模块的使用,以及对象序列化与反序列化。通过这些方法,你可以根据不同的文件类型和需求,灵活选择合适的方式进行操作。希望对正在学习Python的小伙伴们有所帮助。欢迎关注威哥爱编程,全栈路上我们并肩前行。
|
2月前
|
人工智能 文字识别 数据挖掘
MarkItDown:微软开源的多格式转Markdown工具,支持将PDF、Word、图像和音频等文件转换为Markdown格式
MarkItDown 是微软开源的多功能文档转换工具,支持将 PDF、PPT、Word、Excel、图像、音频等多种格式的文件转换为 Markdown 格式,具备 OCR 文字识别、语音转文字和元数据提取等功能。
335 9
MarkItDown:微软开源的多格式转Markdown工具,支持将PDF、Word、图像和音频等文件转换为Markdown格式
|
1月前
|
存储 算法 Serverless
剖析文件共享工具背后的Python哈希表算法奥秘
在数字化时代,文件共享工具不可或缺。哈希表算法通过将文件名或哈希值映射到存储位置,实现快速检索与高效管理。Python中的哈希表可用于创建简易文件索引,支持快速插入和查找文件路径。哈希表不仅提升了文件定位速度,还优化了存储管理和多节点数据一致性,确保文件共享工具高效运行,满足多用户并发需求,推动文件共享领域向更高效、便捷的方向发展。
|
2月前
|
JavaScript
jquery图片和pdf文件预览插件
EZView.js是一款jquery图片和pdf文件预览插件。EZView.js可以为图片和pdf格式文件生成在线预览效果。支持的文件格式有pdf、jpg、 png、jpeg、gif。
75 16

热门文章

最新文章

推荐镜像

更多