Cómo importa iBooks un archivo ePub:
A .epub
como se ha señalado en otras respuestas, es esencialmente un archivo comprimido. Cuando iBooks importa el .epub
archivo, el .epub
que almacena es un un archivo comprimido. Esto explica por qué tiene el Show Package Contents
que permite explorar los archivos "descomprimidos". Sin embargo, el simple hecho de comprimir el paquete no siempre funciona.
Re-creación de la .epub
del archivo paquete :
Manualmente:
- Right click en el
.epub
y haga clic en Show Package Contents
.
- Seleccione todos los contenidos ( CMD + A ) Right click
Compress
.
- Esto creará un
.zip
archivo. Basta con cambiar la extensión de .zip
a .epub
y ¡listo! El archivo se ha convertido en un ePub documento.
Automatización:
Tenía más de 2,000 .epub
paquetes Quería convertirme a .epub
archivos por lo que el método anterior no era factible. Para evitar el trabajo manual, escribí un script que esencialmente ejecuta el método anterior en todos los archivos. Utilicé el sencillo y elegante código de shell proporcionado por Matthias aquí y lo envolvió en un python
script compartido a continuación:
# 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
toma un path
a un directorio que contenga el .epub
paquetes que hay que convertir. [ADVERTENCIA] Es mejor trabajar en una copia del .epub
paquetes en caso de que algo vaya mal. Para estar seguro, copie los paquetes a un directorio diferente y trabaje en él.
El create_epub
toma un path
a un directorio en el que desee almacenar los archivos generados. A continuación, ejecuta un shell
para abrir cada .epub
paquete y generar un .epub
archivo .
Espero que esto ayude. Desde luego, me ha solucionado un gran dolor de cabeza.
0 votos
(esto puede ser una respuesta) ¿Has probado a insertar directamente el ePub desde tu unidad de iCloud en tu lector de ePub?
0 votos
Sí, lo he intentado @Brick, sin embargo aparecen como carpetas como se ha indicado anteriormente...
0 votos
Es decir, ¿se muestra correctamente como se pretende en el lector?
1 votos
No, aparecen como una carpeta en lugar de un libro. Simplemente dan una jerarquía de carpetas. Me había imaginado que tal vez una carpeta epub sólo tendría que ser comprimido y luego renombrado apropiadamente tal vez...