如何跳过导致 UnicodeDecodeError 的字符:使用 textract like errors="replace"?

Aar*_*ton 6 python pdf text-extraction

我正在尝试使用 textract 将 pdf 文件中的所有可读内容转换为字符串。它适用于大多数文件,但在某些文件中它让UnicodeDecodeError:我想跳过有问题的字符。

我试图找到一种方法来解决它errors="ignore"errors="replace"但我找不到办法做到这一点。

这是引发错误的实际部分(它在 for 循环中处理 中的eachPDF folder_name):

text_of_the_pdf = textract.process(os.path.join(self.folder_name, each))
Run Code Online (Sandbox Code Playgroud)
    text_of_the_pdf = textract.process(os.path.join(self.folder_name, each))
  File "/Users/aaron/PycharmProjects/PDFParser/venv/lib/python3.6/site-packages/textract/parsers/__init__.py", line 77, in process
    return parser.process(filename, encoding, **kwargs)
  File "/Users/aaron/PycharmProjects/PDFParser/venv/lib/python3.6/site-packages/textract/parsers/utils.py", line 47, in process
    unicode_string = self.decode(byte_string)
  File "/Users/aaron/PycharmProjects/PDFParser/venv/lib/python3.6/site-packages/textract/parsers/utils.py", line 65, in decode
    return text.decode(result['encoding'])
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/encodings/cp1254.py", line 15, in decode
    return codecs.charmap_decode(input,errors,decoding_table)
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 3227: character maps to <undefined>
Run Code Online (Sandbox Code Playgroud)