From c2ce12b09e3b795c11a5ba72b83bf87d396870bf Mon Sep 17 00:00:00 2001 From: henrikjust Date: Fri, 22 Jul 2011 09:42:08 +0000 Subject: [PATCH] Ensure proper file extension for image files git-svn-id: svn://svn.code.sf.net/p/writer2latex/code/trunk@116 f0f2a975-2e09-46c8-9428-3b39399b9f3c --- source/distro/changelog.txt | 2 ++ source/java/writer2latex/office/ImageLoader.java | 12 ++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/source/distro/changelog.txt b/source/distro/changelog.txt index 27382d8..59b9824 100644 --- a/source/distro/changelog.txt +++ b/source/distro/changelog.txt @@ -2,6 +2,8 @@ Changelog for Writer2LaTeX version 1.0 -> 1.2 ---------- version 1.1.8 ---------- +[all] Image files are now extracted with proper file extension, even if the ODF manifest contains no media type + [all] Added support for images in EMF format (Enhanced Windows Meta Files) [w2l] Bugfix: No longer decodes URLs in links (hyperref.sty has no problem with sequences like %E4) diff --git a/source/java/writer2latex/office/ImageLoader.java b/source/java/writer2latex/office/ImageLoader.java index bfa2cd3..e7a359c 100644 --- a/source/java/writer2latex/office/ImageLoader.java +++ b/source/java/writer2latex/office/ImageLoader.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.2 (2011-02-19) + * Version 1.2 (2011-07-22) * */ @@ -132,7 +132,15 @@ public final class ImageLoader { EmbeddedBinaryObject object = (EmbeddedBinaryObject) obj; blob = object.getBinaryData(); sMIME = object.getType(); - sExt = MIMETypes.getFileExtension(sMIME); + if (sMIME.length()>0) { + // If the manifest provides a media type, trust that + sExt = MIMETypes.getFileExtension(sMIME); + } + else { + // Otherwise determine it by byte inspection + sMIME = MIMETypes.getMagicMIMEType(blob); + sExt = MIMETypes.getFileExtension(sMIME); + } } else { // This is a linked image