首页 > 解决方案 > 以 iso-8859-1 编码的 PDF

问题描述

如何从 python 中以“iso-8859-1”编码的 pdf 文件中读取文本?

我正在尝试使用 python 中的 textract 将 pdf 转换为 txt,但对于某些文件,我面临“unicodeDecodeError utf-8 codec cant decode byte 0xe2 in position 11: invalid continuation byte”。我认为该文件是 iso-8859-1 编码的。

File "/home/kanika/mypython/lib/python3.5/site-. 
packages/textract/parsers/__init__.py", line 77, in process
return parser.process(filename, encoding, **kwargs)
File "/home/kanika/mypython/lib/python3.5/site-. 
packages/textract/parsers/utils.py", line 46, in process
byte_string = self.extract(filename, **kwargs)
File "/home/kanika/mypython/lib/python3.5/site-. 
packages/textract/parsers/txt_parser.py", line 9, in extract
return stream.read()
File "/home/kanika/mypython/lib/python3.5/codecs.py", line 321, in 
decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe2 in position 
 11: invalid continuation byte

标签: pythonpdfiso-8859-1

解决方案


尝试这个。如果你想使用 textract 这应该工作

text = textract.process("yourFile.pdf")

这里text将包含 pdf 中的所有文本。

然后,您可以根据需要将其写入新的 txt 文件。


推荐阅读