python - 以 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
解决方案
尝试这个。如果你想使用 textract 这应该工作
text = textract.process("yourFile.pdf")
这里text
将包含 pdf 中的所有文本。
然后,您可以根据需要将其写入新的 txt 文件。
推荐阅读
- ios - 表视图行选择更改时的操作
- excel - Excel sumproduct 组合多行
- php - 如何在没有 composer 的情况下使用 PHP 库?
- python - 如何避免用下划线标记单词?
- laravel - 基于 Laravel/Spatie 权限的访问控制器资源
- c - 在 C 中的 /bin 和 /sbin 中查找 Argv[i]
- angular - 在 Angular 8 和 Laravel 和 JWT 的 CRUD 操作中使用删除方法的问题
- java - 创建名为“org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration”的bean时出错
- javascript - 在将 HTML 转换为 MS Word 时添加密码保护
- netlogo - 让海龟面对总和值最高的一组补丁