Python:遍历目录并将结果写入单独的txt文件
我正在尝试遍历pdf文件目录。我首先将所有PDF文件转换为jpeg格式,最后转换为txt格式。我已经能够遍历PDF目录并将每个jpeg文件写入一个txt文件,但我真正需要的是每个PDF都有一个单独的txt文件。我理解pdf的每一页都被转换成JPEG格式,然后写入文本文件的问题。如果有2个PDF,我想2个txt文件。下面是到目前为止我的代码。谢谢你的帮助。 从PIL导入图像Python:遍历目录并将结果写入单独的txt文件,python,loops,pdf,glob,python-tesseract,Python,Loops,Pdf,Glob,Python Tesseract,我正在尝试遍历pdf文件目录。我首先将所有PDF文件转换为jpeg格式,最后转换为txt格式。我已经能够遍历PDF目录并将每个jpeg文件写入一个txt文件,但我真正需要的是每个PDF都有一个单独的txt文件。我理解pdf的每一页都被转换成JPEG格式,然后写入文本文件的问题。如果有2个PDF,我想2个txt文件。下面是到目前为止我的代码。谢谢你的帮助。 从PIL导入图像 import pytesseract import sys from pdf2image import convert_
import pytesseract
import sys
from pdf2image import convert_from_path
import os
import cv2
import glob
for filepath in glob.iglob("path/*.pdf"):
PDF_file = filepath
pages = convert_from_path(PDF_file, 500)
image_counter = 1
for page in pages:
filename = "page_"+str(image_counter)+".jpg"
page.save(filename, 'JPEG')
image_counter = image_counter + 1
filelimit = image_counter-1
outfile = "out_text.txt"
f = open(outfile, "a")
for i in range(1, filelimit + 1):
filename = "page_"+str(i)+".jpg"
text = str(((pytesseract.image_to_string(Image.open(filename)))))
text = text.replace('-\n', '')
f.write(text)
f.close()
如果您希望在不同PDF页面的单独文本文件中输出。然后,您应该为每个pdf页面以不同的名称打开文件。像这样:
for i in range(1, filelimit + 1):
outfile = "out_text_"+ str(i) +".txt"
f = open(outfile, "a")
filename = "page_"+str(i)+".jpg"
text = str(((pytesseract.image_to_string(Image.open(filename)))))
text = text.replace('-\n', '')
f.write(text)
f.close()
谢谢这接近我想要的,但不完全是。我不希望每个页面都写成文本,但如果我有两个PDF,例如,我想要两个txt文件。我知道这可能很困难,因为PDF的每一页实际上都被分成了JPEG格式。