Skip to main content

Publish Plone content in epub form

Project description

A product which allows you to import in Plone epub files.


EEA Epub product allows you to import in Plone epub files. On upload, Epub content will imported as Plone folders, files, images and documents.

Export to Epub is also available.

As of version 4.3 epub files created with Adobe InDesign CS4 and Sigil are tested and known to work with this package, previous versions of this package only supported epubs created with InDesign.

Main features

EEA Epub features:

  1. Imports epub files as Plone content.
  2. Stores the original epub in the main folder for easy retrieval.
  3. Exports the Plone content back into an epub.
  4. Clean filename as you import the epub and they contain characters that wouldn’t be allowed as a Plone id. This behaviour is on by default but it can be disabled by unchecking the boolean flag at portal_properties/site_properties clean_epub_file_names. If you find that the Document Pages added by the Epub process has broken links try to re-upload without this boolean flag.

Epub compatibility

EEA Epub makes the following assumptions about the loaded epub:

  1. You don’t use unicode or other special characters into the name of the epub, images or links
  2. You’ve created the epub with “Adobe InDesign CS4” or “Sigil” which uses some standards for the following:
    • The table of contents is named toc.ncx and is placed inside OEBPS
    • Book text & images are placed inside the folder OEBPS or other folders that are children of OEBPS
    • Items ids doesn’t contain the following characters . / ( if possible stick to letters, numbers and - _ )

Best practices when creating an epub:

  1. Chapter names should not be all uppercase or use special characters
  2. Image names should not contain spaces, periods, / or other special characters


At this moment any errors that would appear on the site are surpressed with a info message.

If you want to see the detailed error check the Plone instance log usually found in buildout-folder/var/log.


The easiest way to get eea.epub support in Plone 4 using this package is to work with installations based on zc.buildout. Other types of installations should also be possible, but might turn out to be somewhat tricky.

To get started you will simply need to add the package to your “eggs” and “zcml” sections, run buildout, restart your Plone instance and install the “eea.epub” package using the quick-installer or via the “Add-on Products” section in “Site Setup”.

You can download a sample buildout at:

Getting started

From “Add new” menu select “EpubFile” and upload an epub file.

Custom permissions

Custom permissions added by this package

Can download ePub (

Assign this permission to roles that you want to be able to download content as ePub Default: Owner, Manager, Editor

Can customize ePub (eea.epub.customize)

Assign this permission to roles that you want to be able to contextually customize the output ePub look and feel Default: Manager, Site Administrator


  1. BeautifulSoup
  2. Lxml
  3. Plone 4.x

Live demo

Here some live production demos at EEA (European Environment Agency)



EEA - European Enviroment Agency (EU)


5.6 - (2014-08-12)

  • Bug fix: fixed tests [ghicaale refs #20451]

5.5 - (2014-08-12)

  • Upgrade step: Assign “Can download ePub” permission to CommonEditor
  • Upgrade step: Within “Plone > Site setup > Add-ons” click on upgrade button available for eea.epub
  • Change: Renamed epub_view to download.epub [voineali refs #20393]
  • Feature: Added “Can download ePub” and “Can customize ePub” permissions [voineali refs #20436]

5.4 - (2014-07-15)

  • Bug fix: Export to epub even if there is no PDF cover set for content-type [voineali refs #20268]
  • Change: Removed collective.sendaspdf dependency [voineali refs #20268]

5.3 - (2014-06-06)

  • Upgrade step: Within “Plone > Site setup > Add-ons” click on upgrade button available for eea.epub [voineali refs #19882]
  • Change: Moved EPUB related images and actions from eea.soercontent package [voineali refs #19882]

5.2 - (2014-01-21)

  • Feature: adding Sphinx-generated documentation in Page Template format [batradav refs #9502]
  • Bug fix: removed wrongly added blockquotes within README.rst [ichim-david refs #18064]
  • Bug fix: Updated old URLs pointing Trac [ghicaale refs #18003]

5.1 - (2013-11-20)

  • Bug fix: links were missing any style [simiamih refs #16799]

5.0 - (2013-10-22)

  • Feature: improved epub - daviz reference, toc, styles, cover [simiamih refs #16799]

4.9 - (2013-10-07)

  • Feature: major export improvements - image files, cover photo, css [simiamih refs #16799]

4.8 - (2013-10-04)

  • Change: updated zope imports with the versions that require minimum Plone 4.1 for eea.epub [ichimdav refs #15651]

4.7 - (2013-06-17)

  • Change: use BeautifulSoup4 instead of deprecated BS 3 [tiberich #14584]

4.6 - (2013-01-15)

  • Upgrade step: Within “Plone > Site setup > Add-ons” click on upgrade button available for eea.epub [ichimdav #9068]
  • Feature: register epubs with application/epub+zip mimetype [ichimdav #9068]

4.5 - (2012-11-22)

  • Upgrade step: Within “Plone > Site setup > Add-ons” click on upgrade button available for eea.epub [ichimdav #3621]
  • Feature: use filename id when creating plone content, cleaning the filename id when it contains illegal characters if boolean property clean_epub_filename is enabled at portal_properties/site_properties [ichimdav #3621]

4.4 - (2012-06-12)

  • Bug fix: fixed markup of HISTORY.txt file [ciobabog refs #5231]
  • Change: Change code in eea.epub to fix translation problem [prospchr refs #5159]

4.3 - (2012-04-26)

  • Feature: import epubs that are not created by Adobe Indesign which have the images and the html pages in separate folder like those created by Sigil [ichimdav #5054]

4.2 - (2012-02-06)

  • no changes

4.1 - (2012-02-06)

  • Bug fix: Added dependencies to [voineali]

4.0-dev - (2011-11-06)

  • Bug fix: proper parsing of html entities by using an html parser instead of an xml one [ichimdav #4523]
  • Bug fix: cleaned spaces defined as &nbsp that can’t be read as xml [ichimdav #4271]
  • Cleanup: fixed all pylint, pyflakes violations [voineali #4121]
  • Feature: added upgrade steps [voineali @4392]
  • Feature: Plone 4.0.4 compatible release [tiberich #4121]

0.6 - (2011-04-07)

  • Bug fix: clean epub import to prevent navigation portlet from miss-behaving [ichimdav #4242]
  • Bug fix: fixes #4242 Removed / clean up, the portlet epub and toc, we can use standard plone nav [demarant]
  • Feature: force documents/chapters not to be renamed after title change [demarant]

0.5 - (2011-03-17)

  • Bug fix: fixed wrong anchors that spanned over paragraphs [ichimdav #4196]
  • Bug fix: added translation domain to ZCML files [voineali #4139]

0.4 - (2011-03-09)

  • Change: cleaned test, added doctypes, fixed pylint violations warnings [ichimdav #4140]

0.3 - (2011-03-01)

  • Change: surpressed error messages with an info status message [ichimdav #3883]
  • Bug fix: fix epub file import [ichimdav #3883]

0.2 - (2010-10-29)

  • Feature: add-to-folder menu item [thuliper #3627]
  • Bug fix: image link fixes [thuliper #3711]

0.1 - (2010-10-11)

  • Initial release

Project details

Release history Release notifications

History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date (443.2 kB) Copy SHA256 hash SHA256 Source None Aug 13, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page