概述

  • 批量提取pdf文本
  • 保存为txt文件

    程序步骤

    1.提取文本

    ```python

    pdf文本解析

    import pdfplumber

file_path = r’替换pdf文件路径’ #需要遍历的文件夹路径 pdf = pdfplumber.open(file_path) #打开pdf文件 pages = pdf.pages #获取pdf文件列表 text_all = []
for page in pages:
text = page.extract_text() #提取当前页面文本 text_all.append(text) #增加当前页面文本到列表中 text_all = ‘’.join(text_all) #把列表转成字符串 pdf.close()

  1. <a name="GVpmh"></a>
  2. ## 2.保存文本
  3. ```python
  4. with open("文本提取.txt",'a',encoding = 'utf-8')as text_file:
  5. text_file.write(text_all)

3.批量提取

使用walk()函数遍历文件夹
遍历指定文件夹下的所有子文件夹及子文件夹里的所有文件信息。

  1. import os
  2. #遍历所有pdf文件
  3. file_dir = r'F:\Python\python 代码\pdf解析' #需要遍历的文件夹路径
  4. file_list = []
  5. for files in os.walk(file_dir): #遍历文件夹及其下的所有子文件夹
  6. print(files)
  7. for file in files[2]:
  8. print(file)
  9. if os .path.splitext(file)[1] =='.pdf' or os.path.splitext(file)[1] == '.PDF':
  10. file_list.append(file_dir + '\\' +file)
  11. print(file_list)

全代码

  1. #pdf文本解析
  2. import pdfplumber
  3. import os
  4. #遍历所有pdf文件
  5. file_dir = r'C:\Users\luo\Desktop\pdf解析' #需要遍历的文件夹路径
  6. file_list = []
  7. for files in os.walk(file_dir): #遍历文件夹及其下的所有子文件夹
  8. #print(files)
  9. for file in files[2]:
  10. #print(file)
  11. if os .path.splitext(file)[1] =='.pdf' or os.path.splitext(file)[1] == '.PDF':
  12. file_list.append(file_dir + '\\' +file)
  13. print(file_list)
  14. for file_path in file_list:
  15. pdf = pdfplumber.open(file_path) #打开pdf文件
  16. pages = pdf.pages #获取pdf文件列表
  17. print(pages)
  18. text_all = []
  19. for page in pages:
  20. text = page.extract_text() #提取当前页面文本
  21. text_all.append(text) #增加当前页面文本到列表中
  22. text_all = ''.join(text_all) #把列表转成字符串
  23. pdf.close()
  24. print(text_all)
  25. #保存文本内容为txt
  26. with open("文本提取.txt",'a',encoding = 'utf-8')as text_file:
  27. text_file.write(text_all)