From 652da14a0b4959c2ba0604cbf0ae87a032581403 Mon Sep 17 00:00:00 2001 From: "Dylan M. Taylor" Date: Fri, 13 Nov 2026 09:06:44 -0500 Subject: [PATCH] Classify IDML graphic MIME fallback in shared model --- crates/idml/src/model/spread.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/crates/idml/src/model/spread.rs b/crates/idml/src/model/spread.rs index f1bc0068a..d05205ce0 100644 --- a/crates/idml/src/model/spread.rs +++ b/crates/idml/src/model/spread.rs @@ -967,6 +967,19 @@ impl Graphic { self.values.num("FillTint") } + /// The MIME fallback when a linked graphic's bytes cannot be sniffed. + pub fn fallback_mime(&self) -> &'static str { + let format = self.link().and_then(Link::format).unwrap_or(""); + match format { + value if value.contains("EPS") || self.kind == GraphicKind::EPS => "application/postscript", + value if value.contains("JPEG") => "image/jpeg", + value if value.contains("TIFF") => "image/tiff", + value if value.contains("PDF") || self.kind == GraphicKind::PDF => "application/pdf", + value if value.contains("GIF") => "image/gif", + _ => "image/png", + } + } + pub fn layer_options(&self) -> Option { self.children .iter()