diff --git a/src/calibre/ebooks/conversion/plugins/comic_input.py b/src/calibre/ebooks/conversion/plugins/comic_input.py
index f0ef123aaf..ed252b2922 100644
--- a/src/calibre/ebooks/conversion/plugins/comic_input.py
+++ b/src/calibre/ebooks/conversion/plugins/comic_input.py
@@ -185,8 +185,11 @@ class ComicInput(InputFormatPlugin):
pages = self.get_pages(fname, cdir)
if not pages:
continue
- wrappers = self.create_wrappers(pages)
- comics.append((title, pages, wrappers))
+ if self.for_viewer:
+ comics.append((title, pages, [self.create_viewer_wrapper(pages)]))
+ else:
+ wrappers = self.create_wrappers(pages)
+ comics.append((title, pages, wrappers))
if not comics:
raise ValueError('No comic pages found in %s'%stream.name)
@@ -265,3 +268,38 @@ class ComicInput(InputFormatPlugin):
f.write(wrapper.encode('utf-8'))
wrappers.append(page)
return wrappers
+
+ def create_viewer_wrapper(self, pages):
+ from calibre.ebooks.oeb.base import XHTML_NS
+
+ def page(src):
+ return ''.format(os.path.basename(src))
+
+ pages = '\n'.join(map(page, pages))
+ base = os.path.dirname(pages[0])
+ wrapper = '''
+
+