maxpmaxp / pdfreader

Python API for PDF documents
MIT License
113 stars 26 forks source link

Doctest fails in Python3.9: AttributeError: 'array.array' object has no attribute 'tostring' #60

Closed maxpmaxp closed 3 years ago

maxpmaxp commented 3 years ago
File "tutorial.rst", line 222, in default
Failed example:
    pil_image = fax_image.to_Pillow()
Exception raised:
    Traceback (most recent call last):
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/doctest.py", line 1336, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest default[0]>", line 1, in <module>
        pil_image = fax_image.to_Pillow()
      File "/Users/maxp/PycharmProjects/pdfreader/pdfreader/pillow.py", line 66, in to_Pillow
        img = Image.frombytes("1", size, bitarray(self.decoded).tobytes())
      File "/Users/maxp/PycharmProjects/pdfreader/pdfreader/pillow.py", line 16, in decoded
        stream.frombytes(self.filtered)
      File "/Users/maxp/PycharmProjects/pdfreader/pdfreader/types/content.py", line 73, in filtered
        return apply_filter_multi(self.Filter, self.data, self.DecodeParms)
      File "/Users/maxp/PycharmProjects/pdfreader/pdfreader/types/native.py", line 55, in apply_filter_multi
        binary = apply_filter(fname, binary, params)
      File "/Users/maxp/PycharmProjects/pdfreader/pdfreader/filters/__init__.py", line 14, in apply_filter
        return decoder.decode(binary, params or {})
      File "/Users/maxp/PycharmProjects/pdfreader/pdfreader/filters/ccittfax.py", line 549, in ccittfaxdecode
        parser.feedbytes(data)
      File "/Users/maxp/PycharmProjects/pdfreader/pdfreader/filters/ccittfax.py", line 329, in feedbytes
        self._parse_bit(b & m)
      File "/Users/maxp/PycharmProjects/pdfreader/pdfreader/filters/ccittfax.py", line 55, in _parse_bit
        self._state = self._accept(v)
      File "/Users/maxp/PycharmProjects/pdfreader/pdfreader/filters/ccittfax.py", line 355, in _parse_mode
        self._flush_line()
      File "/Users/maxp/PycharmProjects/pdfreader/pdfreader/filters/ccittfax.py", line 432, in _flush_line
        self.output_line(self._y, self._curline)
      File "/Users/maxp/PycharmProjects/pdfreader/pdfreader/filters/ccittfax.py", line 537, in output_line
        self._buf += bytes.tostring()
    AttributeError: 'array.array' object has no attribute 'tostring'
**********************************************************************
maxpmaxp commented 3 years ago

Fxed on master. v0.1.7.dev1