diff --git a/docx/image/helpers.py b/docx/image/helpers.py index f1a67e8d6..ee4caa702 100644 --- a/docx/image/helpers.py +++ b/docx/image/helpers.py @@ -4,6 +4,8 @@ from struct import Struct +import logging + from .exceptions import UnexpectedEndOfFileError @@ -93,5 +95,10 @@ def _read_int(self, fmt, base, offset): return self._unpack_item(struct, base, offset) def _unpack_item(self, struct, base, offset): - bytes_ = self._read_bytes(struct.size, base, offset) + try: + bytes_ = self._read_bytes(struct.size, base, offset) + except UnexpectedEndOfFileError: + logging.error('Error while reading bytes with struct size - {}, base - {}, offset - {}. ' + 'This bytes are replaced by an empty string.'.format(struct.size, base, offset)) + return '' return struct.unpack(bytes_)[0]