diff --git a/src/calibre/ebooks/docx/writer/images.py b/src/calibre/ebooks/docx/writer/images.py index bf5c293a1f..54b62d611f 100644 --- a/src/calibre/ebooks/docx/writer/images.py +++ b/src/calibre/ebooks/docx/writer/images.py @@ -14,7 +14,7 @@ from polyglot.builtins import iteritems, itervalues, map, unicode_type from lxml import etree from calibre import fit_image -from calibre.ebooks.oeb.base import urlunquote +from calibre.ebooks.oeb.base import urlunquote, urlquote from calibre.ebooks.docx.images import pt_to_emu from calibre.utils.filenames import ascii_filename from calibre.utils.imghdr import identify @@ -50,8 +50,9 @@ class ImagesManager(object): def read_image(self, href): if href not in self.images: - item = self.oeb.manifest.hrefs.get(href) + item = self.oeb.manifest.hrefs.get(href) or self.oeb.manifest.hrefs.get(urlquote(href)) if item is None or not isinstance(item.data, bytes): + self.log.warning('Failed to find image:', href) return try: fmt, width, height = identify(item.data)