Comment iBooks importe un fichier ePub :
A .epub
comme indiqué dans d'autres réponses, est essentiellement un fichier zippé. Lorsque iBooks importe le .epub
le fichier .epub
Le fichier qu'il stocke est un un fichier zippé. Cela explique pourquoi il a le Show Package Contents
qui vous permet d'explorer les fichiers "dézippés". Cependant, le simple fait de zipper le paquet ne fonctionne pas toujours.
Recréer le .epub
à partir du fichier paquet :
Manuellement :
-
Right click sur le
.epub
et cliquez sur Show Package Contents
.
- Sélectionnez tous les contenus ( CMD + A ) Right click
Compress
.
- Cela créera un
.zip
fichier. Il suffit de changer l'extension de .zip
à .epub
et voilà ! Le fichier est devenu un ePub document.
Automatisation :
J'avais plus que 2,000 .epub
paquets Je voulais me convertir en .epub
fichiers La méthode ci-dessus n'était donc pas réalisable. Pour éviter le travail manuel, j'ai écrit un script qui exécute essentiellement la méthode ci-dessus sur tous les fichiers. J'ai utilisé le simple et élégant code-barres fourni par Matthias ici et l'a enveloppé dans un python
script partagé ci-dessous :
# Convert epub packages to epub files
import os
import subprocess
filenames = []
path_to_files = ""
# Function to store all filenames in a list
def extract_filename(path_to_files): # "/Users/****/Desktop/Old_epubs"
os.chdir(path_to_files)
books = os.getcwd()
for f in os.listdir(books):
f_name, f_ext = os.path.splitext(f)
if f_ext == ".epub":
filenames.append(f_name)
filenames.sort()
# Function to generate new epub files
def create_epub(path_to_new_files): # "/Users/****/Desktop/new_epubs/"
total_files = len(filenames)
for i in range(total_files):
epub_path = "cd " + path_to_files
filename = filenames[i] + ".epub"
zipping = " zip -X -r " + path_to_new_files + filename + " mimetype *"
plist = "rm iTunesMetadata.plist"
comm = epub_path + filename + "; " + plist + "; " + zipping
p1 = subprocess.run(comm, capture_output = True, text = True, shell = True)
success = p1.returncode
if success == 0:
rem_files = total_files - i + 1
print("File #", i+1, " has been processed successfully. Remaining files: ", rem_files)
# Enter the paths
extract_filename("/Users/****/Desktop/Books") # Path to directory containing epub packages
create_epub("/Users/****/Desktop/new_epubs/") # Path to store new epub files in
El extract_filename
La fonction prend un path
dans un répertoire qui contient le .epub
paquets qui doivent être convertis. [AVERTISSEMENT] Il est préférable de travailler sur une copie de l'écran de l'ordinateur. .epub
en cas de problème. Pour être sûr, copiez simplement les paquets dans un autre répertoire et travaillez dessus.
El create_epub
La fonction prend un path
dans un répertoire où vous souhaitez stocker les fichiers générés. Il exécute ensuite un shell
pour ouvrir chaque .epub
paquet et générer un .epub
fichier .
J'espère que cela vous aidera ! Cela a certainement résolu un de mes gros maux de tête.
0 votes
(ceci peut être une réponse) Avez-vous essayé d'insérer directement le fichier ePub de votre lecteur iCloud dans votre lecteur ePub ?
0 votes
Oui, j'ai essayé @Brick, mais ils apparaissent comme des dossiers comme indiqué ci-dessus...
0 votes
En d'autres termes, s'affiche-t-il comme prévu dans le lecteur ?
1 votes
Non, ils apparaissent comme un dossier au lieu d'un livre. Ils donnent simplement une hiérarchie de dossiers. J'avais pensé que peut-être un dossier epub aurait juste besoin d'être compressé et ensuite renommé de manière appropriée, peut-être...