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)


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

相关文章
|
2月前
|
数据可视化 Linux iOS开发
Python脚本转EXE文件实战指南:从原理到操作全解析
本教程详解如何将Python脚本打包为EXE文件,涵盖PyInstaller、auto-py-to-exe和cx_Freeze三种工具,包含实战案例与常见问题解决方案,助你轻松发布独立运行的Python程序。
859 2
|
1月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
|
7月前
|
存储 JSON API
如何将 Swagger 文档导出为 PDF 文件
你会发现自己可能需要将 Swagger 文档导出为 PDF 或文件,以便于共享和存档。在这篇博文中,我们将指导你完成将 Swagger 文档导出为 PDF 格式的过程。
|
4月前
|
C#
【PDF提取内容改名】批量提取PDF指定区域内容重命名PDF文件,PDF自动提取内容命名的方案和详细步骤
本工具可批量提取PDF中的合同编号、日期、发票号等关键信息,支持PDF自定义区域提取并自动重命名文件,适用于合同管理、发票处理、文档归档和数据录入场景。基于iTextSharp库实现,提供完整代码示例与百度、腾讯网盘下载链接,助力高效处理PDF文档。
612 40
|
3月前
|
缓存 数据可视化 Linux
Python文件/目录比较实战:排除特定类型的实用技巧
本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
143 0
|
4月前
|
编译器 Python
如何利用Python批量重命名PDF文件
本文介绍了如何使用Python提取PDF内容并用于文件重命名。通过安装Python环境、PyCharm编译器及Jupyter Notebook,结合tabula库实现PDF数据读取与处理,并提供代码示例与参考文献。
|
4月前
|
编译器 Python
如何利用Python批量重命名文件
本文介绍了如何使用Python和PyCharm对文件进行批量重命名,包括文件名前后互换、按特定字符调整顺序等实用技巧,并提供了完整代码示例。同时推荐了第三方工具Bulk Rename Utility,便于无需编程实现高效重命名。适用于需要处理大量文件命名的场景,提升工作效率。
|
4月前
|
安全 Linux 网络安全
Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
879 0
|
4月前
|
数据管理 开发工具 索引
在Python中借助Everything工具实现高效文件搜索的方法
使用上述方法,你就能在Python中利用Everything的强大搜索能力实现快速的文件搜索,这对于需要在大量文件中进行快速查找的场景尤其有用。此外,利用Python脚本可以灵活地将这一功能集成到更复杂的应用程序中,增强了自动化处理和数据管理的能力。
314 0
|
5月前
|
编解码 Prometheus Java
当Python同时操作1000个文件时,为什么你的CPU只用了10%?
本文介绍如何构建一个高效的文件处理系统,解决单线程效率低、多线程易崩溃的矛盾。通过异步队列与多线程池结合,实现任务调度优化,提升I/O密集型操作的性能。
117 4

推荐镜像

更多