メモリ内のファイルライクなオブジェクトがファイルのように動作すると想定します。私は、ディスクにJPEGファイルを保存して、通常の過程で読み取る場合、プログラムは正常に動作しますが、TextractがTextractはJpegImageFile(StringIOオブジェクト)を読み取ることができません
<StringIO.StringIO instance at 0x05039EB8>
を「読み」を取得することはできませんよ。
jpegファイルは、Ned Batchelderの優れたブログExtracting JPGs from PDFsに基づいてpdfsから抽出されています。以下の関連コード:
type(jpg) --> str (on 2.7)
buff = StringIO.StringIO()
buff.write(jpg)
buff.seek(0)
type(buff) --> instance
print buff --><StringIO.StringIO instance at 0x05039EB8>
dt=Image.open(buff)
print dt --><PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=2630x597 at 0x58C2A90>
text=textract.process(dt)`
この行は失敗します。私はTextractは、メモリ内のファイルまたはストリームから読み取るために取得するにはどうすればよいmust be encoded string without NULL bytes, not str
:私は
text=textract.process(buff.getvalue())
をすればTextractは、私はエラーを取得する
JpegImageFile
を読み取ることができませんか?