3 Januar 2013 12:48

EPUB-Dateien bearbeiten

Häufig liegen eBooks im EPUB-Format vor. Das ist auch gut so, da es die meisten Reader unterstützen, es ein sehr flexibles Format und zudem ein offener Standard ist. Wenn ein DRM-System mit im Spiel ist, muss man diese Dateien natürlich so hinnehmen, wie sie sind. Andernfalls kann man sie bearbeiten, wenn einem z.B. die Formatierung nicht gefällt.

Im Grunde ist eine EPUB-Datei lediglich ein ZIP-Archiv. Leider gibt es einige Gemeinheiten, welche die Bearbeitung erschweren.

Der Standard schreibt nämlich vor, dass die erste Datei im Archiv unkomprimiert ist, den Dateinamen mimetype trägt und den Inhalt application/epub+zip hat. Für die meisten ZIP-Programme ist dies eine große Hürde. Entweder es geht nur mit Mühe oder sogar gar nicht.

Glücklicherweise gibt es in der Linux-Welt das Kommandozeilen-Programm zip bzw. unzip (für andere Betriebssysteme gibt es sicherlich etwas ähnliches). Damit ist diese Aufgabe leicht zu erledigen. Am leichtesten ist das Entpacken:

$ unzip ebook.epub

Dann kann man damit anfangen, die Dateien zu bearbeiten (wo ich in diesem Artikel aber nicht drauf eingehen möchte). Folgt anschließend das erneute Packen, was schon etwas umfangreicher ist. Zuerst sorgen wir dafür, dass die Datei mimetype am Anfang der Datei liegt:

$ zip -0 -X ebook_neu.epub mimetype

Dabei bedeutet -0 (eine Null) "nicht komprimieren (store)" und -X "keine extra Attribute". Man erhält dann die Datei ebook_neu.epub, welcher nun die restlichen Dateien hinzugefügt werden können:

$ zip -r -g ebook_neu.epub META-INF OEBPS

Die beiden Optionen sorgen dafür, dass alle Dateien rekursiv (-r) hinzugefügt (-g) werden.

Den ersten Schritt mit dem Hinzufügen der mimetype-Datei kann man sich sparen, wenn man die daraus entstandene Datei als eine Art Template wiederverwendet.

Kommentare

Powered by BetaBlog
Login | RSS Beiträge RSS Kommentare Impressum