Comment lire ou construire un fichier .html ou .txt à partir d'un fichier .epub

On rencontre des fichiers .epub, pour l'édition de livres électroniques.

Ce format est bien adapté pour la présentation des publications, avec des titres, chapîtres, notes de référence...

Par contre, leur lecture nécessite des logiciels spécialisés pour les lire, ce qui peut poser des difficultés aux aveugles qui utilisent un lecteur d'écran.

Quand un .epub n'est pas protégé par un DRM, on peut facilement remédier à cet inconvénient, en extrayant les fichiers que l'on trouve dans un .epub, pour en faire un fichier usuel .html ou .txt

En effet, un fichier .epub est un fichier compressé qui contient des fichiers .css qui servent pour la présentation, et des fichiers .xml ou .html qui contiennent le texte proprement dit.

Comment lire simplement un fichier .epub

Pour accéder aux fichiers .html ou xml qui contiennent le texte de la publication, il suffit de renommer le fichier .epub, en lui donnant un nom de suffixe .zip, puis d'ouvrir ce .zip dans un logiciel de décompression comme winzip, par exemple.

On trouve alors des fichiers dont les noms sont de la forme main1.html, main2.html...

la terminologie peut varier, comme par exemple :

tmp_split_01.xml, tmp_split_02.xml... ou encore "Daudet Contes du lundi_split_001.html"...

L'important est de remarquer que les chapîtres successifs correspondent aux numéros indiqués, dans l'ordre naturel.

On peut alors décompresser tous les fichiers du .epub, dans un dossier de son choix et ouvrir les fichiers .html ou .xml, pour les lire dans son navigateur.

Comment créer un fichier .html à partir d'un .epub

Si l'on désire remplacer un fichier .epub par un seul fichier .html qui contiendra tout le texte de la publication, il suffit d'extraire les textes .html ou .xml, pour les ajouter par ordre naturel, dans un fichier de son choix.

Voici les étapes, qui permettent d'automatiser cette démarche :

1. Enregistrer le fichier .epub en remplaçant son suffixe par .zip

2. Extraire tous les fichiers du .zip en utilisant winzip, par exemple, dans un dossier de son choix (de nom zip, par exemple)

3. Recherchez des fichiers source .html ou .xml dans ce dossier zip ou dans un de ses sous-dossiers (ces fichiers sont pour cet exemple dans le sous dossier ops du dossier zip, et s'appellent main0.xml, main1.xml...main11.xml)

Remarque : Pour d'autres exemples, ces fichiers se trouvent dans zip lui-même, ou dans le sous-dossier de nom content

4. Allez dans ce sous-dossier ops et renommez ou copiez tous les fichiers .xml en fichiers .html (ceci peut se faire par la ligne de commande : copy *.xml *.html

5. Il ne reste plus qu'a ajouter les fichiers main0.html, main1.html...main11.html dans le fichier Doyle_Le_signe_des_quatre.html Cette opération peut se faire de plusieurs manières :

On peut, par exemple, ouvrir le fichier main0.html dans son navigateur puis copier sa source dans le presse-papier, puis coller le contenu du presse-papier dans une fenêtre d'édition d'un éditeur de texte, puis faire de même pour le fichier main1.html...

On peut aussi utiliser une seule ligne de commande, pour ajouter tous les fichiers de suffixe .html dans un fichier de son choix.

Par exemple, on se placera dans le sous-dossier ops et l'on entrera :

type *.html >>monfichier.html

Cette commande ajoutera tous les fichiers de suffixe .html du dossier ops dans le fichier monfichier.html (dans l'ordre alphabétique)

Cette méthode peut conduire à des erreurs de classement des pages, quand les fichiers .html sont numérotés par 1, 2...10, 11...

Dans ce cas, le fichier de numéro 2 sera copié après les fichiers 10, 11...

Il vaut mieux s'assurer soi-même du bon ordre de copie des pages.

Si l'on veut maitriser pas à pas cette démarche, on peut utiliser de préférence la petite procédure ci-dessous :

Voici comment créer une petite procédure paramétrée, pour ajouter un à un des fichiers .html.

Une procédure est un fichier dont le suffixe doit obligatoirement s'appeler .bat, dans lequel on écrit les lignes de commandes qui s'exécuteront quand on lancera le fichier .bat Ici, ce fichier contiendra la seule ligne :

type main%1.html >>Doyle_Le_signe_des_quatre.html

Explications :

type est le nom d'une commande système qui affiche le contenu d'un fichier texte sur l'écran, à moins que l'on détourne sa sortie vers un fichier, ce que nous faisons ici.

Le nom du fichier à afficher ou à détourner est ici le nom main%1.html

Dans ce nom, le symbole %1 est un paramètre qui sera remplacé par la valeur que l'on écrira quand on lancera la procédure .bat

Si l'on appelle a.bat le nom du fichier de procédure, la ligne de commande :

a 0

donnera comme résultat, l'exécution de la commande :

type main0.html >>Doyle_Le_signe_des_quatre.html

c'est à dire que le symbole %1 sera remplacé par la valeur 0 du paramètre de la procédure a.bat

Il reste à expliquer la signification des deux signes supérieurs, placés devant le nom du fichier .html

Si l'on n'avait mis qu'un signe supérieur, le fichier .html aurait été créé (ou remplacé s'il existait) avec comme contenu, la sortie de la commande "type".

Avec deux signes supérieurs, la sortie de la commande "type" est ajoutée à la fin du fichier indiqué à la suite des signes >>

Pour ajouter bout à bout les fichiers main0.html, main1.html...il suffit alors de lancer successivement les lignes de commandes :

a 0

a 1

...

a 11

Tout ceci est plus long à expliquer qu'à mettre en oeuvre, mais cela vaut la peine si l'on souhaite obtenir de nombreux fichiers de livres au format html.

Pour le format texte, il suffit d'utiliser le copier tout par CTRL + a dans la fenêtre du navigateur, qui affiche main0.html puis coller ce contenu par CTRL + v dans la fenêtre d'édition d'un éditeur de texte, puis d'ajouter le contenu de main1.html de la même manière...

Quelques raccourcis clavier, pour faciliter la création de la procédure a.bat

Les noms des fichiers sources .html ou .xml peuvent être longs et difficiles à écrire sans erreur de caractère.

Vous les listerez dans la fenêtre de la console par dir *.html ou dir *.xml, puis vous utiliserez INSERT+CTRL+w pour virtualiser la fenêtre.

Il vous sera alors facile de copier le nom d'un de ces fichiers par MAJ+flèche droite, puis de copier ce nom par CTRL+c, puis vous le collerez dans un éditeur de texte par CTRL+v

Il ne vous restera plus qu'a oter le numéro du fichier pour le remplacer par %1, et taper le nom de la commande type devant le nom du fichier, et >>prov.html à la suite de ce nom.

Il y a souvent des espaces dans le nom du fichier source, si bien que vous prendrez soin de placer son nom entre guillemets.

Vous enregistrerez votre ligne sous le nom a.bat dans le dossier où se trouvent toutes les sources .html ou .xml, et vous construirez le fichier prov.html comme expliqué ci-dessus.

Comment naviguer dans le fichier .html construit à partir d'un fichier .epub

Les fichiers .html ou .xml que l'on a extrait du .epub contiennent, en général,des titres, des balises <a href="...

Vous vérifierez que les lecteurs d'écran comme JAWS, vous permettent de vous déplacer dans les titres par le raccourci INSERT+F6.

Par contre, les liens qui concernent les notes en référence ne fonctionneront pas dans votre fichier html

Cela provien de ce que les liens font appel, en général, à un fichier footnotes.html ou footnotes.xml

Ceci se remarque facilement en observant les lignes qui contiennent <a href="... dans votre source html

Vous transformerez alors ces liens en liens sur la même page, de la manière suivante :

Ajoutez le fichier footnotes.html à la fin de votre fichier html, puis remplacez tous les noms footnotes.html qui figurent dans les balises <a href=" par la chaîne vide.

Les instructions de mise en page, qui font appel à des fichiers .css seront ignorées et vous pouvez les laisser dans votre source html.

Si vous remarquez que l'affichage des caractères est incorrect, effacez les instructions xml situées au début de votre source et remplacez les simplement par la balise <html>

Voici des livres au format html, que j'ai construits à partir de sources epub de la bibliothèque du Quebec :

Quelques romans choisis, accessibles aux aveugles (au format .html) de la bibliothèque électronique du Québec

Voici encore des livres choisis, rendus accessibles au format html :

Divers romans choisis du site studyvox.biwi.ca

Fort heureusement, les grandes bibliothèques proposent, en général, d'autres formats que le format epub.

Annuaire des principales bibliothèques et conseils pour la lecture de livres en ligne

retour dans le sommaire de la rubrique de lecture

retour dans la page index du site studyvox.biwi.ca