16.07.2011
Nachbearbeitung von E-Books im ePub-Format Teil 1
Die Freeware Stanza Desktop kann aus vielen verschiedenen Quellformaten E-Books im ePub-Format erzeugen. Leider sieht das Ergebnis dann nicht immer besonders gut aus, so dass es unter Umständen sinnvoll sein kann, gewisse Nachbearbeitungen vorzunehmen.
E-Book mit Stanza umwandeln
Die Software Stanza kann hier heruntergeladen werden:
Kostenlose E-Books als Eingabe für Stanza erhält man z.B auf folgenden Webseiten:
- Buecher-Sucher.de, ein Verzeichnis verschiedener Webseiten, auf denen kostenlose E-Books erhältlich sind,
- beam, hier habe ich direkt die Kategorie “kostenlos” verlinkt, der Download erfordert eine Anmeldung und
- Freeware.de, auch hier gibt es einige kostenlose E-Books.
Wenn man sich für ein E-Book entschieden hat und Stanza Desktop installiert hat, dann gelingt das Umwandeln recht einfach, indem man Stanza startet und über den Menüpunkt Datei –> Öffnen ein unterstütztes Dateiformat öffnet.
Im Anschluss klickt man auf Datei –> Export Book as –> ePub und wählt Verzeichnis und Dateiname.
Stanza kann ich derzeit leider nicht empfehlen, weil die Software momentan Probleme beim Öffnen einer Datei macht; der Dialog zum Öffnen erscheint einfach nicht.
E-Book mit Calibre umwandeln
Eine weitere kostenlose Software, mit der man E-Books z.B. aus dem pdf-Format in eine ePub-Datei umwandeln kann, ist calibre. Ich möchte hier hervorheben, dass das nur eine von vielen Funktionen ist, die calibre mitbringt, denn eigentlich ist calibre kein E-Book-Converter sondern vielmehr eine Software, um die eigene E-Book-Bibiliothek zu verwalten.
Wenn ich nun also ein kostenloses E-Book herunterlade – ich habe mich hier für das Buch “Perfekte Verbrächen” [sic] von Richard Stan Brown entschieden – dann kann ich das heruntergeladene pdf-Dokument recht schnell in eine ePub-Datei konvertieren, nämlich durch einen Klick auf Bücher hinzufügen und nach dem Import des Buchs auf konvertiere Bücher:
Im Dialogfeld, das sich nun öffnet, lässt man einfach die Default-Werte stehen und startet die Konvertierung durch einen Klick auf OK:
Das Ergebnis findet man am einfachsten, wenn man auf der rechten Seite, unter dem Cover-Bild des Buchs, auf Pfad: Zum Öffnen klicken klickt:
Das Ergebnis ist sicherlich alles andere als hübsch anzusehen, aber wir sind ja hier, um ein ePub in einigen wenigen Schritten nachzubearbeiten.
Um diese Schritte durchführen zu können, muss man zunächst einen Eindruck vom Aufbau einer ePub-Datei gewinnen.
Das ePub-Format
Bei Dateien mit der Endung ePub handelt es sich letzten Endes um ZIP-Archive, denen man einen andere Dateiendung verpasst hat und die eine kleine Besonderheit aufweisen, dazu später mehr, wenn es um das Wiedereinpacken geht.
Wer sich gerne mit der genauen Spezifikation von ePub auseinandersetzen möchte, der kann das auf der Webseite des Internationale Digital Publishing Forum tun.
Nehmen wir also die eben erzeugte ePub-Datei und entpacken sie mit einem Programm wie IZArc, 7Zip, WinZip oder WinRAR in einen Ordner, z.B. den Ordner “ePub”[1]:
Dieses Ergebnis weicht ein “klein” wenig von dem ab, was man in einer ePub-Datei so vorfinden sollte, das sähe nämlich beispielsweise so aus:
In der obersten Verzeichnisebene sollte nicht mehr zu sehen sein als die zwei Verzeichnisse “OEBPS”[2] und “META-INF” sowie die Datei “mimetype”:
Der Inhalt des Verzeichnisses”META-INF” ist ebenfalls wenig spektakulär:
Erst im Verzeichnis OEBPS sollte der eigentliche Inhalt des Buches zu finden sein, dabei sind einige der vorgefundenen Objekte optional:
Der eigentliche Inhalt des Buches, also der Text, befindet sich in den xhtml-Dateien. Ich habe mir angewöhnt, die einzelnen Kapitel jeweils in eine eigene Datei zu speichern und diese mit dem Kurznamen des Buches und einer zweistelligen Kapitelbezeichnung zu versehen. Die Buchteile, die auf _k00a, _k00b usw. enden, beinhalten den Einband, Vorworte, Inhaltsverzeichnisse und alles, was sonst noch vor dem ersten Kapitel in einem Buch vorkommen.
In “toc.ncx” befindet sich Angaben zur Erzeugung eines navigierbaren Inhaltsverzeichnisses. Die Dateiendung “ncx” steht für Navigation Controlfile for XML.
Die Datei “content.opf” schließlich enthält alle wichtigen Metadaten des Buches, listet dessen Inhalt auf und legt die Reihenfolge der Inhalte fest.
In der Datei “style.css” befinden sich wie zu erwarten die Style-Informationen für die xhtml-Dateien.
Die Verzeichnisse “fonts” und “images” sind optional und enthalten eingebettete Schriftarten und Bilder, z.B. das für den Einband.
Sehr wichtig ist, dass alle diese Dateien in UTF-8 kodiert sein müssen, damit sie von allen E-Book-Readern korrekt angezeigt werden.
Ich werde zur Bearbeitung der Dateien das Programm Notepad++ verwenden, was zwei wesentliche Gründe hat:
- Notepad++ kann für Textoperationen wie Suchen und Ersetzen sogenannte reguläre Ausdrücke anwenden[3] und
- Notepad++ kann nicht nur unterschiedliche Textkodierungen anzeigen sondern auch umwandeln.
Ordner aufräumen
Da das Beispiel sehr unaufgeräumt ist, wird nun zuerst dieser Umstand bereinigt:
- Erstellen eines Ordners “OEBPS” im gleichen Verzeichnis, in dem auch der Ordner “META-INF” liegt und
- Verschieben aller Dateien bis auf die Datei “mimetype” in den neuen Ordner
So sollte nun das Ergebnis aussehen:
Hier finde ich auch noch einige Unschönheiten, z.B. gehören Bilder in ein eigenes Unterverzeichnis “images” und das Bild “index-1_1.png” wird in diesem Buch überhaupt nicht gebraucht:
- Erstellen eines Ordners “images”,
- Verschieben der Datei “cover.jpeg” in den Ordner “images” und
- Löschen der Datei “index-1_1.png”
Nun ist schon eine gewisse Ordnung hergestellt und ich kann mit den eigentlichen Arbeiten anfangen:
Die Datei mimetype
Diese Datei ist die einfachste aller Dateien innerhalb des ePub-Archivs, sie besteht nur aus einer einzigen Zeile, die auch bei jedem E-Book gleich ist:
application/epub+zip
Diese Zeile darf nach der Eingabe im Texteditor nicht mit einem Betätigen der Entertaste abgeschlossen werden.
Wenn ich die Datei “mimetype” des Beispiels in Notepad++ öffne, stelle ich schnell fest, dass sie falsch kodiert ist:
Anhand des oben dargestellten Menüs in Notepad++ ist auch schnell ersichtlich, wie man die Kodierung feststellt und wie man sie ändert. Ich klicke auf “Konvertiere zu UTF-8” und speichere die Datei.
Diese Überprüfung sollte man bei jeder Datei des ePub-Archivs durchführen.
Die Datei container.xml
Innerhalb des Ordners “META-INF” befindet sich nur eine einzige Datei “container.xml”. Diese Datei sollte bei jedem E-Book im ePub-Format nahezu gleich aussehen, der einzige Unterschied liegt in der 5. Zeile, die den vollständigen Pfad zum Herzstück des ePub-Archivs, der Datei content.opf angibt:
<?xml version="1.0"?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<rootfiles>
<rootfile full-path="content.opf"
media-type="application/oebps-package+xml"/>
</rootfiles>
</container>
Durch die Aufräumarbeiten in einem der vorhergehenden Schritte stimmt die Pfadangabe in der 5. Zeile nicht mehr, daher passe ich diese an:
<rootfile full-path="OEBPS/content.opf"
media-type="application/oebps-package+xml"/>
Wie bei allen Dateien muss hier die Kodierung geprüft und eventuell angepasst werden.
Hier beende ich den ersten Teil des Beitrags über E-Book-Nachbearbeitung, im kommenden Teil werde ich mich mit den XHTML-Dateien beschäftigen.
An Fragen, Anregungen und Kritik bin ich sehr interessiert, insbesondere interessiert mich, ob meine Anleitung eher zu ausführlich oder zu kurz gefasst und damit schwer verständlich ist.
- In der Grafik fällt auf, dass ich einen Unterordner “1” verwende. Ich verwende nummerierte Unterordner für jeden größeren Schritt, damit ich so etwas wie eine manuelle lokale Versionierung habe, d.h. ich kann nach größeren Änderungen jedes Mal zurückgehen. [↩]
- Open eBook Publication Structure [↩]
- Eine nützliche Einführung findet man auf der Webseite von Daniel Fett [↩]