用python写一个批量转换PDF文档为TXT格式的窗口程序,TXT文件有文本内容,图片自动过滤
时间: 2024-02-03 19:12:12 浏览: 94
好的,以下是一个简单的 Python 程序,可以实现批量将 PDF 文档转换为 TXT 格式,并自动过滤图片:
```python
import os
import PyPDF2
import tkinter as tk
from tkinter import filedialog
def choose_folder():
folder_path = filedialog.askdirectory()
return folder_path
def pdf_to_txt(folder_path):
for filename in os.listdir(folder_path):
if filename.endswith('.pdf'):
input_path = os.path.join(folder_path, filename)
output_path = os.path.join(folder_path, os.path.splitext(filename)[0]+'.txt')
with open(output_path, 'w', encoding='utf-8') as f:
pdf_file = open(input_path, 'rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
for page in range(pdf_reader.numPages):
page_obj = pdf_reader.getPage(page)
text = page_obj.extractText()
f.write(text)
pdf_file.close()
# Remove images from txt file
with open(output_path, 'r', encoding='utf-8') as f:
txt = f.read()
filtered_txt = ''.join([i for i in txt if not i.isdigit() and not i.isalpha()])
with open(output_path, 'w', encoding='utf-8') as f:
f.write(filtered_txt)
print('Conversion completed!')
def main():
root = tk.Tk()
root.withdraw()
folder_path = choose_folder()
pdf_to_txt(folder_path)
if __name__ == '__main__':
main()
```
这个程序使用了 PyPDF2 库来读取 PDF 文件,并将每一页的文本内容写入 TXT 文件。然后,程序会打开 TXT 文件并过滤掉所有的图片,只保留文本内容。最后,程序会将过滤后的文本内容写入同名的 TXT 文件中。
要运行此程序,请先安装 PyPDF2 库。可以使用以下命令来安装:
```
pip install PyPDF2
```
然后,将上述代码保存为 `pdf_to_txt.py` 文件,并在命令行中执行以下命令:
```
python pdf_to_txt.py
```
程序将会弹出一个文件夹选择窗口,让您选择要转换的 PDF 文件所在的文件夹。然后,程序会将所有的 PDF 文件自动转换为 TXT 格式,并过滤图片。转换后的 TXT 文件将保存在同一个文件夹中。
阅读全文