Code: Select all
import multiprocessing
import textract
def extract_txt(file_path):
text = textract.process(file_path, method='tesseract')
p = multiprocessing.Pool(2)
file_path = ['/Users/user/Desktop/sample.pdf']
list(p.map(extract_txt, file_path))
Wie kann ich also die Funktion extract_txt auf alle Elemente eines Verzeichnisses anwenden, die mit .pdf enden, und dieselben Dateien in einem anderen Verzeichnis zurückgeben, aber im .txt-Format, und Einen Seitentrenner mit OCR-Textextraktion hinzufügen?.
Außerdem war ich neugierig auf die Verwendung von Google Docs für diese Aufgabe. Ist es möglich, Google Docs programmgesteuert zu verwenden, um das oben genannte Textextraktionsproblem zu lösen?.
UPDATE
Bezüglich des Problems „Hinzufügen eines Seitentrenners“ (
Code: Select all
... page content ... Code: Select all
from PyPDF2 import PdfFileWriter, PdfFileReader
import textract
def extract_text(pdf_file):
inputpdf = PdfFileReader(open(pdf_file, "rb"))
for i in range(inputpdf.numPages):
w = PdfFileWriter()
w.addPage(inputpdf.getPage(i))
outfname = 'page{:03d}.pdf'.format(i)
with open(outfname, 'wb') as outfile: # I presume you need `wb`.
w.write(outfile)
print('\n\n')
text = textract.process(str(outfname), method='tesseract')
os.remove(outfname) # clean up.
print(str(text, 'utf8'))
print('\n\n')
extract_text('/Users/user/Downloads/ImageOnly.pdf')
Code: Select all
sys.stdout=open("test.txt","w")
print('\n\n')
sys.stdout.close()
text = textract.process(str(outfname), method='tesseract')
os.remove(outfname) # clean up.
sys.stdout=open("test.txt","w")
print(str(text, 'utf8'))
sys.stdout.close()
sys.stdout=open("test.txt","w")
print('\n\n')
sys.stdout.close()
Mobile version