Zippen von Epub: Mimetype-Datei sollte nur die Zeichenfolge "application / epub + zip" enthalten

3

Ich habe das Tutorial befolgt. Erstellen Sie ein digitales Buch mit EPUB , um eine ePUB-Datei zu erstellen. Die mimetypeDatei enthält nur application/epub+zip und sollte nicht komprimiert werden. Die zip-Befehle, die empfohlen wurden, um die Nichtkomprimierung des Mimetyps zu erreichen,

zip -0Xq   ebook.epub mimetype
zip -Xr9Dq ebook.epub *

... beim Ausführen von epubcheck folgenden Fehler erzeugen :

ERROR: ebook.epub/mimetype: Mimetype file should contain only the string "application/epub+zip".

Also habe ich zwei andere Kombinationen von Zip-Optionen ausprobiert, aber der Fehler bleibt derselbe.

zip -X  ebook.epub mimetype 
zip -rg ebook.epub META-INF 
zip -rg ebook.epub OEBPS

zip -X0  ebook.epub mimetype
zip -rX9 ebook.epub * -x mimetype

Calibre kann diese E-Books jedoch problemlos öffnen.

Der Inhalt meiner mimetypeDatei ist korrekt, so dass es ein Problem mit den zipBefehlen sein muss. Oder könnte dies ein Bug of Epubcheck sein?

Suzana
quelle

Antworten:

2

Sie müssen die Zeichen \nund mit dem Linux-  Befehl wie folgt \raus der mimetypeDatei entfernen tr:

tr -d '\n' < mimetype   > mimetype.1
tr -d '\r' < mimetype.1 > mimetype.2
rm mimetype mimetype.1 
mv mimetype.2 mimetype

oder einfach

tr -d '\n\r' < mimetype > mimetype.2
mv mimetype.2 mimetype

Anschließend müssen Sie den Datei-Mimetyp mit dem folgenden Befehl zur ePUB-Datei hinzufügen:

zip -0Xq book.epub mimetype

Anschließend müssen Sie die verbleibenden Dateien wie folgt zu ePUB-Dateien hinzufügen:

zip -Xr9Dq book.epub * -x mimetype -x book.epub 

Dann validieren Sie es einfach mit dem Online- EPUB-Validator und Sie erhalten KEINEN FEHLER bezüglich des Mimetyps.

ccpplinux
quelle
2
Es ist nicht erforderlich, die mimetypeDatei zu ändern . Sie können es ohne Newline direkt erstellen: echo -n application/epub+zip >mimetype.
Pabouk
Ich habe es mit dem echo-Befehl versucht und deine zip-Befehle und epubcheck bringen diese Fehlermeldung nicht mehr. Vielen Dank!
Suzana
1

Öffnen Sie die Minetype-Datei in Dreamweaver oder einer anderen Textbearbeitungssoftware und löschen Sie alle Leerzeichen nach der Zeile "application / epub + zip". Stellen Sie sicher, dass es auch keine Rücksendungen gibt.

Das sollte funktionieren

Toine
quelle
1

Ich benutze einen Mac, auf dem "ePub Zip / Unzip 3.0" (ein Applescript mit den richtigen Zip-Befehlen usw.) ausgeführt wird, und habe auch diese Fehlermeldung erhalten.

Es stellt sich heraus, dass sowohl BBEdit als auch TextWrangler über eine Voreinstellungen verfügen, die beim Speichern automatisch einen zusätzlichen Zeilenumbruch hinzufügt. Ich habe diese Einstellung deaktiviert und keinen Fehler mehr.

Überprüfen Sie Ihren Texteditor, um festzustellen, ob er eine solche Präferenz hat, und deaktivieren Sie ihn, wenn Sie können. (In BBEdit heißt es "Sicherstellen, dass die Datei mit einem Zeilenumbruch endet" unter "Textdateien".)

Beste!

Todd

comancheTodd
quelle