【python批量处理pdf】pdf合并 + pdf转word文件

本文介绍了如何使用Python的PyPDF2库进行PDF文件的批量合并,并讲解了在不同操作系统中处理路径的注意事项。同时,还阐述了利用pdf2docx库将PDF批量转换为Word文件的过程,包括文件准备、代码实现及运行效果。
摘要由CSDN通过智能技术生成


一、PDF批量合并

1、文件准备

1、将需要合并的PDF文放到一个文件夹下并做好备份。
2、安装好PyPDF2库,终端输入命令

pip3 install PyPDF2

2、代码

import os
from PyPDF2 import PdfFileMerger
 
path = '/Users/zero/Desktop/2016'  #pdf目录文件路径
listname = os.listdir(path) #获取所有pdf文件名
get_key = lambda i : i.split('.')[0] #调整listdir的(数字排列)顺序
new_sort = sorted(listname, key=get_key)

pdf_lst = [f for f in new_sort if f.endswith('.pdf')]
pdf_lst = [os.path.join(path, filename) for filename in pdf_lst]
 
file_merger = PdfFileMerger()
for pdf in pdf_lst:
    file_merger.append(open(pdf, 'rb'))  # 合并pdf文件
 
a = '/Users/zero/Desktop/2016.pdf' # 创建一个2016.pdf文件作为最终合并文件。
with open(a, "wb") as fout:
    file_merger.write(fout)

*代码文件(也就是.py文件)不放在pdf文件夹中

3、注意事项

关于系统路径:
在 Windows 操作系统上,路径的写法采用的是 \ 反斜杠。
在 macOS 和 Linux 操作系统上,路径的写法采用的是 / 正斜杠。
Python 中 “\”是转义符,如果继续用windows的“\”表示文件路径,就会产生歧义。

例如:Windows下的原始路径:C:\Users\Documents\GitHub\

在Python中有三种方法表示:

path = "C:\\Users\\Documents\\GitHub\\"       
path = r'C:\Users\Documents\GitHub\'
path = 'C:/Users/Documents/GitHub/'

或者也可以用vscode打开所在文件夹后直接获取当前路径

path = os.getcwd()  #获取当前工作路径

请添加图片描述

os.listdir排列的顺序是按照:1,10,2,20…的顺序,需要调整成按照01,02,03,04…进行排序
*如果pdf文件以数字序号命名,请将文件名1-9改为01-09。

请添加图片描述




二、PDF批量转word文件

1、文件准备

1、将需要转成word文档的PDF文件放到一个文件夹下,做好备份。
2、安装pdf2docx库,用pip或者pip3

pip install pdf2docx

3、新建py文件
请添加图片描述

2、代码

import os
from pdf2docx import Converter
 
def pdf_docx():
    file_path = os.getcwd()# 获取当前工作目录
    for file in os.listdir(file_path): # 遍历所有文件
        suff_name = os.path.splitext(file)[1] # 获取后缀
        if suff_name != '.pdf': # 过滤文件夹中的非pdf格式文件
            continue
        
        file_name = os.path.splitext(file)[0]# 获取文件名称
        pdf_name = os.getcwd() + '/' + file #mac用'/',Windows用'\\'
        docx_name = os.getcwd() + '/' + file_name + '.docx' #转换为docx文件
        
        # 加载pdf文档并转换
        cv = Converter(pdf_name)
        cv.convert(docx_name)
        cv.close()
pdf_docx()

3、运行效果

请添加图片描述
请添加图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Turbo正则

如果对您有用请我喝杯咖啡吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值