Python3でtesseractを用いたOCR時のエラー
英語PDFのOCRをPythonで行おうと考えており、tesseract (ターミナル上では動きます) と textract (こちらの手順に沿って) のインストールは正常に行えました。
しかし、以下のコードを実行した場合にエラーが出て文字を抽出できません。
text = textract.process(
'/Users/Text/en.pdf',
method='tesseract',
language='eng',
)
エラー:
/usr/local/lib/python3.4/site-packages/textract-1.4.0-py3.4.egg/textract/parsers/pdf_parser.py in extract_tesseract(self, filename, **kwargs)
62 page_content = TesseractParser().extract(page_path, **kwargs)
63 contents.append(page_content)
---> 64 return ''.join(contents)
65 finally:
66 shutil.rmtree(temp_dir)
TypeError: sequence item 0: expected str instance, bytes found
pdf_parser.py
の修正を試みましたが、どれも失敗しました。
return b''.join(contents)
と書き換える- Insert
contents = [str(item) for item in contents]
をreturn
の前に - Insert
contents = [item.decode("utf-8") for item in contents]
をreturn
の前に
*こちらの質問は、stackoverflowのポストを訳したものです。どちらかで回答が得られた場合は、質問者が責任をもってもう片方に掲載します。よろしくお願い致します。