From 767563bf8b331304892285c0789bba481acaa1b5 Mon Sep 17 00:00:00 2001 From: Manuel030 <51206069+Manuel030@users.noreply.github.com> Date: Wed, 27 Nov 2024 13:45:07 +0100 Subject: [PATCH] fix: use correct image index in word backend (#442) * fix image index in word backend Signed-off-by: Manuel030 * fix: Fixes for wordx (#432) * fixes for referencing drawing blip in wordx Signed-off-by: Maksym Lysak * Added safety try-except when trying to load pillow image from a docx blob. Added explicit dependency on lxml. Signed-off-by: Maksym Lysak * Added test for word file with embedded emf images, re-generated full tests for docx, eased up dependency on lxml Signed-off-by: Maksym Lysak * Updated lxml dependency version Signed-off-by: Maksym Lysak --------- Signed-off-by: Maksym Lysak Co-authored-by: Maksym Lysak Signed-off-by: Manuel030 * sign dco Signed-off-by: Manuel030 * correct rebase error Signed-off-by: Manuel030 --------- Signed-off-by: Manuel030 Signed-off-by: Maksym Lysak Co-authored-by: Maxim Lysak <101627549+maxmnemonic@users.noreply.github.com> Co-authored-by: Maksym Lysak --- docling/backend/msword_backend.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docling/backend/msword_backend.py b/docling/backend/msword_backend.py index 496bdb7..0550871 100644 --- a/docling/backend/msword_backend.py +++ b/docling/backend/msword_backend.py @@ -507,18 +507,19 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): image_data = get_docx_image(element, drawing_blip) image_bytes = BytesIO(image_data) + level = self.get_level() # Open the BytesIO object with PIL to create an Image try: pil_image = Image.open(image_bytes) doc.add_picture( - parent=self.parents[self.level], + parent=self.parents[level - 1], image=ImageRef.from_pil(image=pil_image, dpi=72), caption=None, ) except (UnidentifiedImageError, OSError) as e: _log.warning("Warning: image cannot be loaded by Pillow") doc.add_picture( - parent=self.parents[self.level], + parent=self.parents[level - 1], caption=None, ) return