EPUB

from Wikipedia, the free encyclopedia
EPUB
logo
File extension : .epub
MIME type : application / epub + zip
Developed by: International Digital Publishing Forum
Current version: 3.2 (as of May 8, 2019)
Standard (s) : Specifications



EPUB (including ePUB , acronym for e lectronic pub lication ) is an open standard for e-books from the International Digital Publishing Forum (IDPF), of the older standard Open eBook ( OEB or Open eBook Publication Structure , OEBPS replaced).

DRM mechanisms can optionally be integrated. However, the format does not define any implementation, but leaves that to the respective display programs. Annotations such as notes, bookmarks etc. are not part of the standard. With version 3 it is possible to refer to a text passage to the letter.

E-books based on EPUB allow a dynamic adaptation of the text to the respective screen size of the reader and are therefore particularly suitable for output on handheld devices. In contrast, for example, the text in PDF is displayed exactly as it is in the printed book.

format

The EPUB standard is based on a number of free standards. In version 2 these are mainly XML , XHTML , DTBook , SVG , CSS , NCX (from DTBook, DAISY ), Dublin Core and Zip . The interpretation of the following pixel graphic formats is also required: PNG , JPEG / JFIF , GIF . On the one hand, DTBook is no longer available in version 3, but additional formats are added, e.g. for audio and optionally for video (the implementation of which requires licenses in some cases), as well as formats for fonts in the OpenType and WOFF formats, and in versions 3.1 and 3.2 also TrueType .

The specification of EPUB in version 2 is divided into three parts that define different areas:

  • The structure of the actual content
  • The packet format
  • The structure of the archive

In version 3 there are also:

  • Media overlays (for an alternative presentation as an audio book)
  • Canonical fragment identifiers (for references to anywhere in a book)

As of version 3.0.1, you can also specify whether the presentation should be page-based or scrollable. In addition, it can be determined how the content adapts to the available space - either similar to SVG by defining a display area and, if necessary, subsequent scaling (fixed) or similar to XHTML by automatically dividing the content to the available space without scaling (not fixed ).

Open Publication Structure

The formats to be used for the actual content are regulated by the Open Publication Structure (OPS). The permitted content documents are dealt with in version 3 in EPUB Content Documents . All formats that can be used are specified in version 3 in EPUB Publications , see next section.

In principle, EPUB differentiates between the actual content documents and other documents in other formats that can be embedded in them, i.e. always dependent on the content of the content documents and not appearing independently.

Documents are stored in one or more UTF- 8 or UTF-16 encoded files.

In version 2.0 / 2.0.1, content documents are implemented with a subset of XHTML 1.1 or with DTBook, whereby an interpretation of DTBook is usually not implemented in common display programs. SVG 1.1 (without interactivity or animation) can either be used as a data island in XHTML documents or it is embedded as an image or object. Style templates can be used in a subset of the CSS 2.0 format. In addition, there are a few style sheet properties specific to EPUB. Script applications are not allowed.

In version 3.0 / 3.0.1, content documents are implemented either with the XML variant of HTML5 or with SVG 1.1 (without interactivity or animation). With regard to HTML5, it does not define which working draft authors should follow, nor how is it specified which working draft is used in a book. As described and restricted in HTML5, presentation MathML can also be used as a data island. Style sheets here mainly refer to CSS 2.1 and some modules of CSS 3.0. Script applications are optional; the documents must be designed in such a way that the content is accessible with and without the interpretation of scripts. A small subset of the SMIL format can also be used to implement media overlay. In this case, audio files are linked with the content so that a presentation can also be offered as an audio book.

In version 3.1 it is expressly pointed out that this version is not limited to a special version of XHTML, SVG or CSS, authors and programmers of display programs should orientate themselves on the current recommendations of the W3C. This means that the specification of EPUB is independent of the specifications of the web standards used. With SVG, the use of interactivity or animation is therefore no longer excluded, there is only a more general reference to possible implementation gaps in various modules in the display programs.

Because version 3.1 has some incompatibilities with earlier versions, the responsible working group advises to use the revised version 3.2 instead. This is more closely based on 3.0.1, also declares some actually not implemented options of 3.0.1 as obsolete, but takes over the expanded options from 3.1 with regard to the content through new versions of SVG and HTML5.

Open packaging format

The structuring is regulated by the Open Packaging Format (OPF), version 3 of which is available as EPUB Publications .

The structure and the inclusion of metadata are described in a master file (file name extension:) .opf.

In the first section, in the element metadata, the metadata are mainly provided according to the Dublin Core scheme. The type of notation is in detail different for version 3 than for version 2, which can cause problems for readers if they want to access such information directly with older programs instead of unpacking the book archive and directly entering the source text of the OPF- Look at file. The same information that can still be accessible with a book according to version 2 can become inaccessible with a notation according to version 3 and vice versa with programs that only interpret version 3 and no longer the notation of version 2.

In a second section, in the element manifest, all other files stored in the archive are listed.

The further section, represented by the element spine, is something that corresponds to the spine of the book in printed books; the structure primarily serves to determine the reading order of the book for the display program. A basic distinction is made between parts of a book that are in a linear reading order and those that do not. Accordingly, this can be specified for each entry in a content document. In particular, versions 2 and 3.0.1 also require that all content documents that are referenced by documents in the spineare themselves in this directory. In practice, this can cause problems for books whose structure does not follow a simple, linear reading order in whole or in part and which instead provide their own, built-in navigation, with which you can branch to alternatives or which, as in a network or labyrinth, in principle do not have any certain reading order there. Such content structures were already problematic with printed books, but are actually no longer a technical problem for a digital representation.

The practical problems for EPUB books result from the fact that many popular view programs ignore the specification that content documents should not appear in a linear reading order; the documents are then displayed in the order in which they are spinenoted in or as linear afterwards labeled content. This is an explicitly permitted procedure. This makes it practically difficult for authors of non-linear works to publish meaningfully in this format (for example, as an improvised countermeasure, many empty content documents could be spineinserted before and after a non-linear document in order to encourage the reader not to use the order suggested by the program. but to use the navigation means specific to the respective book).

The attribute tocat element spinerefers to a table of contents for human readers of the book. With a further optional section, special structures of the book such as the title page, table of contents, index, glossary etc. can be specified.

The table of contents intended for human readers, which is displayed outside of the normal reading order, is specified in version 2.0 / 2.0.1 in the section navMapin a file, typically with the file name extension .ncxin the XML format NCX , which comes from DTBook . Each entry is assigned playOrdera position in the attribute within the sequence of the texts to be reproduced.

Such a document is optional since version 3.0 / 3.0.1 and is only intended as an aid for old display programs of version 2. In version 3.1 the NCX document is marked as obsolete or obsolete. Version 3 display programs should no longer interpret it. For this purpose, the table of contents must be specified in a document in these versions, which can be implemented with a subset of the XML variant of HTML5 and can therefore also be made available within the normal reading order.

OEBPS container format

The packaging of all partial files in a single file and the structure of the file system contained therein is regulated by the OEBPS Container Format (OCF), which is available in version 3 as EPUB Open Container Format (OCF) . All partial files are summarized in a zip archive file with the file name extension .epub. This must contain at least:

  • an uncompressed file with the name mimetypeand the content application/epub+zipin the root directory as the first file in the archive,
  • a directory META-INFwith a file named container.xmlthat points to the publication master file ,
  • the master file,
  • a table of contents for navigating through the publication and
  • at least one content file.

Examples

The file system in a minimal book according to EPUB 2 could look like this:

  mimetype
  META-INF/
    container.xml
  inhalt.opf
  inhalt.ncx
  inhalt.xhtml

The file system for EPUB 3 can look similar, but there is another file for navigation (called nav.xhtml here) in XHTML format, the inhalt.ncx file is optional here, but makes sense for old display programs:

  mimetype
  META-INF/
    container.xml
  inhalt.opf
  inhalt.ncx
  nav.xhtml
  inhalt.xhtml

container.xml

  <?xml version="1.0" encoding="UTF-8"?>
  <container
    xmlns="urn:oasis:names:tc:opendocument:xmlns:container"
    version="1.0">
    <rootfiles>
      <rootfile
        full-path="inhalt.opf"
        media-type="application/oebps-package+xml"/>
    </rootfiles>
  </container>

Master file inhalt.opf (Version 2)

  <?xml version="1.0" encoding="UTF-8"?>
  <package version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:opf="http://www.idpf.org/2007/opf"
    xmlns="http://www.idpf.org/2007/opf"
    unique-identifier="BookId">
    <metadata>
      <!-- Die folgende Buchidentifikation ist einzigartig für jedes Buch zu wählen -->
      <dc:identifier id="BookId" opf:scheme="UUID">6f2e78a1-c4f3-4895-b58b-347f92fb2d14</dc:identifier>
      <!-- Hauptsprache des Buches -->
      <dc:language>de</dc:language>
      <!-- Buchtitel -->
      <dc:title xml:lang="de">Hallo Welt</dc:title>

      <!-- bis hier notwendige Metainformationen, es folgen einige optionale: -->

      <!-- Beschreibung -->
      <dc:description xml:lang="de">Beispiel für ein Buch im Format EPUB 2.</dc:description>
      <!-- Erzeuger, Erschaffer des digitalen Buches, hier auch der Autor -->
      <dc:creator
        opf:file-as="Zufall, Rainer"
        opf:role="aut"
        xml:lang="de">Rainer Zufall</dc:creator>
      <!-- Charakteristischer Zeitpunkt der Erstellung des Buches -->
      <dc:date opf:event="creation">2013-10-23</dc:date>
      <!-- Zeitpunkt der Veröffentlichung -->
      <dc:date opf:event="publication">2013-10-23</dc:date>
    </metadata>
    <!-- Verzeichnis der Dateien des Buches -->
    <manifest>
      <item id="ncx" href="inhalt.ncx" media-type="application/x-dtbncx+xml"/>
      <item id="Datei_1" href="inhalt.xhtml" media-type="application/xhtml+xml"/>
    </manifest>
    <!-- Reihenfolge der Inhalte des Buches -->
    <spine toc="ncx">
      <itemref idref="Datei_1"/>
    </spine>
  </package>

Master file inhalt.opf (Version 3)

  <?xml version="1.0" encoding="UTF-8"?>
  <package version="3.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:opf="http://www.idpf.org/2007/opf"
    xmlns="http://www.idpf.org/2007/opf"
    unique-identifier="Id">
    <metadata>
      <!-- Die folgende Buchidentifikation in Kombination mit folgendem Datum einzigartig für jedes Buch zu wählen -->
      <dc:identifier id="Id">6f2e78a1-c4f3-4895-b58b-347f92fb2d14</dc:identifier>
      <!-- Datum der letzten Änderung -->
      <meta property="dcterms:modified">2013-10-26T17:27:34Z</meta>
      <!-- Hauptsprache des Buches -->
      <dc:language>de</dc:language>
      <!-- Buchtitel -->
      <dc:title xml:lang="de">Hallo Welt</dc:title>

      <!-- bis hier notwendige Metainformationen, es folgen einige optionale: -->

      <!-- Beschreibung -->
      <dc:description xml:lang="de">Beispiel für ein Buch im Format EPUB 3.</dc:description>
      <!-- Erzeuger, Erschaffer des digitalen Buches, hier auch der Autor -->
      <dc:creator id="rainer" xml:lang="de">Rainer Zufall</dc:creator>
      <meta refines="#rainer" property="file-as">Zufall, Rainer</meta>
      <meta refines="#rainer" property="role" scheme="marc:relators">aut</meta>
      <!-- Angabe des Typs der Buchidentifikation -->
      <meta property="identifier-type" refines="#Id">UUID</meta>
      <!-- Zeitraum der Erstellung des Buches -->
      <meta property="dcterms:created">2013-10-23/26</meta>
      <!-- Zeitpunkt der Veröffentlichung -->
      <meta property="dcterms:issued">2013-10-26</meta>
    </metadata>
    <!-- Verzeichnis der Dateien des Buches -->
    <manifest>
      <item id="ncx"    href="inhalt.ncx"   media-type="application/x-dtbncx+xml"/>
      <item id="inhalt" href="inhalt.xhtml" media-type="application/xhtml+xml"/>
      <item id="nav"    href="nav.xhtml"    media-type="application/xhtml+xml" properties="nav"/>
    </manifest>
    <!-- Reihenfolge der Inhalte des Buches -->
    <spine toc="ncx">
      <itemref idref="nav"/>
      <itemref idref="inhalt"/>
    </spine>
  </package>

Detailed table of contents inhalt.ncx (for version 2, optional for version 3)

  <?xml version="1.0" encoding="UTF-8"?>
  <ncx
    xmlns="http://www.daisy.org/z3986/2005/ncx/"
    version="2005-1"
    xml:lang="de">
    <head>
      <!-- Dieselbe Buchidentifikation wie in der OPF-Datei: -->
      <meta name="dtb:uid" content="6f2e78a1-c4f3-4895-b58b-347f92fb2d14"/>
    </head>
    <docTitle>
      <text>Hallo Welt</text>
    </docTitle>
    <docAuthor>
      <text>Rainer Zufall</text>
    </docAuthor>
    <navMap>
      <navPoint playOrder="1" id="id_01">
        <navLabel>
          <text>Hallo Welt</text>
        </navLabel>
        <content src="inhalt.xhtml"/>
      </navPoint>
    </navMap>
  </ncx>

Detailed table of contents nav.xhtml (for version 3)

<?xml version="1.0" encoding="UTF-8" ?>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ops="http://www.idpf.org/2007/ops"
      xml:lang="de">
  <head>
    <title>Inhaltsverzeichnis</title>
  </head>
  <body>
   <nav ops:type="toc">

    <h1>Inhaltsverzeichnis</h1>

    <ol>
      <li><a href="nav.xhtml">Inhaltsverzeichnis</a></li>
      <li><a href="inhalt.xhtml">Hallo Welt</a></li>
    </ol>

  </nav>
 </body>
</html>

Actual content inhalt.xhtml (for version 2)

A simple XHTML file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xml:lang="de">
  <head>
    <title>Hallo Welt</title>
  </head>
  <body>
    <h1>Hallo Welt</h1>
    <p>Ein einfacher Absatz als Textbeispiel.</p>
  </body>
</html>

Actual content inhalt.xhtml (for version 3)

A simple XHTML file (based on a working draft for HTML5 and with an extended type attribute from the OPS / EPUB namespace to identify the semantic function of elements more precisely):

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ops="http://www.idpf.org/2007/ops"
      xml:lang="de">
  <head>
    <title>Hallo Welt</title>
  </head>
  <body>
    <h1>Hallo Welt</h1>

    <section ops:type="chapter">
      <h2>Titel des ersten Kapitels</h2>
      <p>Ein einfacher Absatz als Textbeispiel.</p>
      <p>...</p>
    </section>
    <section ops:type="chapter">
      <h2>Titel des zweiten Kapitels</h2>
      <p>...</p>
    </section>
  </body>
</html>

Verification

Since all contents of the EPUB are standardized and based on XML, an EPUB archive can be checked for validity. The structure of the archive and the documents it contains are checked.

The use of validators is common for testing . It is not a problem to check the XML documents in an EPUB for well-formedness, i.e. for compliance with the fairly simple XML syntax rules.

For the formats specified for EPUB and formats used in the book, such as XHTML, SVG, Digital Talking Books, there are also special specifications, i.e. fixed rules that must be checked. This is significantly more complicated for programs for various reasons. Here one speaks of checking for validity or validity. For this purpose, the rule set of the respective format must be available in special formal languages, which are understood by the test program, also known as the validator . The formulation of the rule set of a format in such a formal language is called document type definition or XML schema , or schema for short. The epubcheck published by the IDPF itself is often used for checking. The current version in May 2019 is 4.2.1. 4.2.x tests the EPUB 3.2 version. (and 2) 4.1.1 is the last version that still tests according to the rules of EPUB 3.0.1.

Depending on the EPUB version used, there can be various problems in detail:

  • The validator mentioned (version 3 of it) has problems with EPUB 2, for example, with checking content documents in the Digital Talking Books format. However, version 4 can also check the format.
  • EPUB 3.0.1 unfortunately uses the same version number as EPUB 3, which is why a validator cannot automatically correctly differentiate which version was used by the author based on the version number given in the book, which can result in incorrect results or incorrect warnings during the validation process .
  • The normative variant of a format often consists of prose, so it is not formally formulated as a scheme. Schemas are then often non-normative as representations of the format for programs. Because the schemes cannot correctly represent arbitrarily complex issues, the schemes can deviate from the normative specification, so checking with a program can lead to false error messages or errors can be overlooked.
  • EPUB 3 requires that the XHTML content documents follow the HTML5 recommendation. There is no official scheme for this recommendation, which HTML5 represents. With version 3.1, special versions of XHTML, SVG or even CSS are no longer provided. What is correct or appropriate is therefore time-dependent and therefore no longer clearly defined.
  • The specifications of EPUB 3.0 and EPUB 3.0.1 were published before those of HTML5, so it is not exactly clear what EPUB 3 is logically referring to when it calls HTML5. 3.1 explicitly dispenses with a precise assignment.
  • SVG 1.1 can also be used in all versions of EPUB; this can be validated according to a document type definition, but the language scope of document type definitions is not sufficient for the complexity of the format, so on the one hand not everything is checked here that could be checked automatically, on the other hand, SVG allows various structures in the normative prose recommendation that are only approximated with the document type definition, restricting other structures where this restriction cannot be formulated with a document type definition. The SVG scheme available for the test program therefore differs significantly from what is actually specified. Another version of SVG can also be used in version 3.1, which makes checking even more complex, as it is not always necessary to specify which version of SVG was used.
  • For example, epubcheck up to version 4.0.2 does not recognize the data element and issues an incorrect error message when used.
  • Version 4.0.2 also gives an incorrect warning if an SVG data island is again followed by a reference in an XHTML area, which indicates that epubcheck assigns namespaces incorrectly.
  • Likewise, version 4.0.2 is not able to validate books that were created according to version EPUB 3.1, which is about the same old.
  • In versions 4.2.x EPUBs are only tested according to EPUB 2 or EPUB 3.2. Due to the incompatibilities of the various sub-versions of HTML5.x, renewed checks with epubcheck can lead to new error messages for previously successfully checked EPUBs according to version 3.0.1.

Overall, the result of an automatic check is therefore always only a helpful indication of problems. In a further step, it is then necessary to manually check whether the respective problem really lies in the book itself, is related to a lack of versioning of the content formats used, is to be looked for in a defective schema, is due to errors in the validator or to deficiencies and inconsistencies in the respective EPUB -Recommendation is related.

Despite these restrictions on the informative value of an automatic check, there are publishers or distributors who make the publication of a book in EPUB format dependent on whether the book withstands such an automatic check with a version of a validator that is currently in use.

history

Open eBook, the precursor to EPUB, was developed for their mobile reading devices by two manufacturers of e-book systems, namely SoftBook Press (primarily) and NuvoMedia Inc., and was published in the late 1990s. Among other things, Microsoft relied on Open eBook in 1998 after its own lit format was discontinued. In September 1999 version 1.0 of the specification was published, the so-called Open eBook Publication Structure (OEBPS). This was updated in June 2001 (version 1.0.1) and August 2002 (version 1.2) with new format recommendations. In September 2007 the Open Publication Structure (OPS) 2.0 was published under the current name EPUB , which replaces OEBPS. The format has since been developed as part of the International Digital Publishing Forum (IDPF). Files of this new generation of the format no longer have the previous file extension .opf (OEB Package Format) , but now .epub.

In February 2017, the IDPF was merged with the W3C, and work on EPUB will be continued as a working group of the W3C.

The W3C working group published a revision of EPUB as version 3.2 as the W3C Community Group Final Report / Specification on May 8, 2019 . For formal reasons, such a report has a slightly different meaning than the usual recommendations for the W3C.

support

The contents of digital books in EPUB format can be accessed in a number of different ways. Because the actual content consists of standard formats such as XHTML and SVG, a wide range of programs is generally suitable for presenting the content. If the ZIP archive that represents the EPUB file is unzipped, the content of the book will be accessible to any display program that can interpret the content formats.

EPUB itself, especially in version 2, provides for such a use directly as an alternative to the ZIP archive. The common general display programs for XHTML and SVG do not interpret the formats specific for EPUB outside of the EPUB environment, in particular the OPF file would actually be of central importance here. However, if an author or producer of an EPUB archive stores the table of contents in XHTML format, which is required anyway in version 3, under a unique file name (for a German-language book, for example, table of contents.xhtml) and makes this so detailed that all content documents can be directly or indirectly embedded or If further references become accessible, such an EPUB archive can also be used quite well for current display programs for content on the Internet that are based on Mozilla / Gecko, Opera / Presto, WebKit / Blink, Trident, without additional extensions.

In addition, there are also extensions for these display programs that are able to handle the archive directly and also to interpret the EPUB-specific files, in particular the OPF file, and thus make the content of the book automatically accessible.

In addition, there can also be independently developed programs specifically for interpreting EPUB, which at least partially use Mozilla / Gecko or WebKit / Blink internally as a program library in order to present content. Because the content documents with XHTML and SVG consist of XML, it is still relatively easy for a provider to develop their own presentation program based on an XML processor, which can then be used independently of existing program libraries or a combination of other libraries .

The interpretation of the format is therefore primarily dependent on programs or program libraries that are widely available on many different operating systems; there is no dependency on specific devices. However, in addition to the common types of computers, there are also special readers for digital books, sometimes with certain restrictions in terms of presentation, such as a display only in gray values ​​due to the technology used (digital ink, "electronic paper"), which are then internally displayed can use the programs or program libraries already mentioned or use their own programs to present the content of a book. The processors and memory used in such devices are often much more modest than one is used to from the usual computers for general applications in the office or at home, which can limit the complexity and scope of the content that can be displayed.

Even if the same program libraries are used, the interpretation can therefore be subject to various restrictions and influences that authors and readers cannot assess solely on the basis of which program library is used for the presentation. If a device does not have a color screen, for example, it cannot present colored SVG documents as presumably intended by the author. The embedding of a library in a user interface, a graphical user interface, can also influence the presentation options. If, for example, an original display program does not have any particular problems with presenting long words or large graphics, this can look completely different if an EPUB extension tries to bring the same content to the presentation when it has the appearance of a printed book with pages that can be turned shall be.

The capabilities or the quality of the interpretation of EPUB for in-house developments for special devices are even more difficult to assess for outsiders if the specific device is not available or it is difficult to check whether this program version is updated automatically or not.

Overall, the assessment of support for the EPUB format is even more difficult to oversee than the general support for the actual content formats XHTML and SVG. In general, however, it can always be assumed that the display programs do not meet all the requirements of EPUB and therefore cannot present every formally correct book in EPUB format in such a way that all content is accessible. In practice, authors are therefore forced to use only a subset of EPUB in their books so that all the content in the book remains accessible to readers. The subset is smaller than that used by authors when they publish content directly on the web, i.e. without an EPUB / ZIP archive around it.

Readers for e-books

Almost all e-book readers (with the exception of Amazon Kindle ) interpret the EPUB format at least partially. Often it is not clear or easy to determine whether the devices use established program libraries for presentation or use their own developments. Statements such as the ability to interpret EPUB 2 or EPUB 3 for a specific device are usually to be assessed critically in practice, because there is probably no program that interprets the entire EPUB specification in version 2 or 3 correctly. This usually means that the basic components of EPUB are interpreted, which makes it possible to read simply designed books without any problems. Books that exploit the respective possibilities of an EPUB version with richer content can always reveal errors and gaps in such programs.

The EPUB 3 Support Grid , for example, provides an overview of which devices or programs interpret which features .

Programs to read (selection)

program License platform Remarks
Adobe Digital Editions Freeware Windows , macOS E-book reader, reads and manages EPUB documents as well as PDF, XHTML and ACSM formats
Aldiko Freeware Android
Azardi Freeware Windows, Linux , macOS Uses Gecko internally to display content, such as Firefox (free)
Bluefire Reader Freeware iOS , Android , Windows Can read EPUB with Adobe DRM
Caliber GPLv3 Windows, macOS, Linux Open source suite for e-books. Caliber has a Wiki Reader which can be used to create EPUB documents from Wikipedia and Wikivoyage.
Cool reader GPLv2 Android, eComStation Also on jailbroken Kindle keyboard
EPUBReader Freeware Windows, macOS, Linux Extension for Firefox, Chrome, Opera and Edge (Chromium based), with which EPUB files can be read directly in the browser
FBReader GPLv2 Windows, Linux, PDAs , Android
Freda Code Project Open License v1.02 Windows 8 , Windows Phone , Windows Mobile EPUB reader, also supports TXT and HTML formats
Gitden Freeware iOS, Android EPUB reader app, very broad support for ePub3 functions
i2Reader Freeware iOS
iBooks proprietary iOS, macOS from iOS 3.2, from Mac OS X 10.9
KOReader AGPLv3 Android, Linux Runs on e-book readers etc. a. Kindle, Cervantes, Kindle, Kobo, PocketBook, Tolino, ReMarkable, Onyx. Jailbreak required on some devices.
Laputa Reader Freemium Android Visually elaborate scrolling similar to the iPad
eBook.de reading app Freeware iOS, Android Free e-book reader software
Lucidor GPL Windows, Linux, macOS Internally uses Pale Moon to display content, older versions also use Mozilla / Gecko
Lucifox GPL Windows, Linux, macOS Extension for display programs of the Mozilla / Gecko type such as Firefox, Iceweasel, Seamonkey etc. (older versions) or Pale Moon
Mantano Reader proprietary iOS, Android
Mobipocket Freeware Windows, Blackberry , Symbian , Windows Mobile
Moon + Reader Freemium Android Supports TTS, marks, comments, other e-book formats
eyepiece GPL Linux, Windows, macOS Note (Version 0.12): The design of the e-book is only shown to a limited extent (e.g. no chapters, no table of contents)
Overdrive Media Console Freeware Blackberry , Android, iOS, Windows Phone 7
pReader GPLv3 WebOS E-book readers for many formats
Readiator Freeware Windows, Linux, macOS Extension for display programs of the type WebKit or Blink such as Chromium or Google Chrome
Readium AGPLv3 / Apache v2.0 Windows, Linux, macOS Extension of the IDPF for display programs of the type WebKit or Blink such as Chromium or Google Chrome (free of charge)
Remarkable proprietary nux basedi Book Reader for Epub (without DRM), PDF
Sony Reader Apps Freeware Windows, Mac, Android, Sony Tablet
Stanza Freeware Windows, macOS, iOS
Sumatra PDF GPLv3 Windows Started as a PDF reader and supports numerous other formats in addition to EPUB
Talking clipboard Freeware Windows Software that reads e-books
Tolino Freeware Windows, Android, iOS Software available as a web reader for the browser and as an app for Apple and Android devices. Features: formatting of text, notes, markings, bookmarks, night mode

Programs for creating and editing (selection)

In addition to a program to create the ZIP archive yourself, no special programs are required to create books in EPUB format. A simple text editor is sufficient for the text content in the XML files. This also makes it possible to fully exploit the semantic possibilities of the content formats. Conversion programs and those with only one output in EPUB format mostly do not understand the content and are therefore usually not able to structure the content optimally. If a program is used that uses a format conversion or offers an EPUB output, it is urgently recommended to check and improve the content with a simple text editor in order to achieve the best possible result.

Such programs often make it possible to read in EPUB archives that have already been started. As a test, it is a good idea to load a manually created book that uses semantic text markup intensively, as well as the permitted content formats, in particular XHTML and SVG, with such a program and save it again or save it again after minor additions. If the program has changed the semantic text markup without asking, or if it has converted SVG documents to pixel graphics or omitted them entirely, such a program must evidently be treated with the utmost skepticism. Unfortunately, there are numerous such programs that are no longer up to the format.

software License platform Remarks
ABBYY FineReader 11 proprietary Windows, macOS Text recognition (OCR) with export function in EPUB format, 30-day trial version available
Adobe InDesign proprietary Windows, macOS Desktop publishing program (from CS4)
Adobe RoboHelp proprietary Windows Authoring system for online documentation with export function in EPUB format
Apple Pages proprietary macOS Word processing with export function in EPUB format
Atlantis Word Processor proprietary Windows Word processing with export function in EPUB format, 30-day trial version available
BlueGriffon EPUB Edition proprietary Windows, Linux, macOS EPUB editor
Caliber GPLv3 Windows, Linux, macOS Conversion program, editor for EPUB and AZW3 (Kindle)
Calligra Author LPGL / GPL Linux Part of the Calligra Suite
eBooksWriter proprietary Windows Demo version available
eCub Freeware Windows, Linux, macOS Conversion program
eLaix GPL Windows, Linux, macOS LibreOffice plug-in that exports EPUBs in addition to ILIAS learning units (project may no longer be maintained, however)
ePuper Freeware Windows EPUB editor, freeware
Jutoh proprietary Windows, macOS creates EPUBs from ODT files, e.g. B. were created with OpenOffice or LibreOffice
Pandoc GPL Linux, macOS, Windows, Universal (Haskell) Universal conversion program (also TeX → EPUB)
Papyrus author proprietary Windows, macOS German language word processing with export function in EPUB format
QuarkXPress proprietary macOS, Windows Desktop publishing program
Sigil GPLv3 Windows, Linux, macOS Open source editor for reading and writing EPUBs
writer2ePub Freeware Windows, Linux, macOS Plug-in for LibreOffice and OpenOffice by Luca “Luke” Calcinai, which creates EPUBs from text documents.
Xilisoft PDF to EPUB Converter proprietary Windows Conversion program, 30-day trial version available

Digital rights management

With the EPUB format, information on digital rights management (DRM) can optionally be noted in a specific file, but no specific structure has been defined for this up to and including version 3.0. An interpretation of such information is consequently optional, and any subsequent encryption of the content can make it inaccessible to many display programs. At the moment there are also different, incompatible systems. The ADEPT DRM system developed by Adobe has a comparatively high distribution among them; almost all retailers who protect their EPUB books use this system, and it is supported by many commercial e-book readers, but mostly not by free viewers or extensions for browsers.

Another DRM system has been developed by Apple. So far, only the company's own display program iBooks can decrypt books in this format. This system is therefore limited to devices for which iBooks is available as a display program.

Removing the copy protection

For the digital rights management ADEPT DRM developed by Adobe, a possibility was published in February 2009 to bypass copy protection. The copy protection itself was not cracked, only the private key was extracted. With this, all EPUB files protected with this key can then be completely decrypted and re-saved without digital rights management. These new files are no longer subject to the restrictions of digital rights management. The contents are also accessible to other display programs. Any personal identification data that may be present remain available.

literature

  • Victor Wang: E-Books with ePUB - From Word to E-Book with XML . 1st edition. mitp, Heidelberg a. a. 2011, ISBN 978-3-8266-5602-6 .
  • Yves Apel: E-Books with InDesign CC: The professional guide for ePub, Mobi & Co. dpunkt, Heidelberg 2014, ISBN 978-3-86490-121-8 .
  • Yves Apel, Sasha Heck: ePub for (in) designers: With InDesign step by step to the e-book dpunkt, Heidelberg 2012, ISBN 978-3-89864-794-6 . completely online

Web links

Individual evidence

  1. EPUB 3.2. W3C EPUB 3 Community Group, May 8, 2019, accessed June 18, 2019 .
  2. a b c EPUB 3.1 Changes from EPUB 3.0.1. International Digital Publishing Forum, January 5, 2017, accessed on March 29, 2017 .
  3. EPUB 2.0.1. International Digital Publishing Forum, September 4, 2010, accessed on March 29, 2017 (en-PK).
  4. EPUB 3.0. International Digital Publishing Forum, October 11, 2011, accessed on March 29, 2017 .
  5. epubcheck
  6. a b businessweek.com
  7. ^ New Roadmap for Future of Publishing is Underway as W3C and IDPF Officially Combine. W3C, February 1, 2017, accessed March 29, 2017 .
  8. epubtest.org
  9. infogridpacific.com
  10. caliber-ebook.com
  11. ecomstation.it
  12. epubread.com
  13. turnip.demon.co.uk/jim/freda
  14. gitden.com
  15. github.com
  16. ebook.de
  17. lucidor.org
  18. lucidor.org
  19. github.com
  20. readium.org
  21. Test bench: Intermezzo Adobe's Creative Suite 5.5 relies on digital publishing. In: c't , 14/2011
  22. caliber-ebook.com
  23. extensions.libreoffice.org
  24. Test bench: QuarkXPress 9 control center is getting ready for digital publishing. In: c't , 11/2011
  25. Writer2ePub
  26. ^ Circumventing Adobe ADEPT DRM for EPUB. i ♥ cabbages - still another reverse engineering blog, February 18, 2009, accessed on March 29, 2017 .
  27. Khawar Mehmood, Mehreen Afzal, M. Mukaram Khan, MM WaseemIqbal: A Practical Approach to Impede Key Recovery and Piracy in Digital Rights Management System (DRM) . In: Proceedings of 2015 12th International Bhurban Conference on Applied Sciences & Technology (IBCAST) . Islamabad 2015, ISBN 978-1-4799-6369-0 , doi : 10.1109 / IBCAST.2015.7058528 (English).