Le blog de Lizzie Crowdagger

Ici, je discute écriture et auto-édition, fanzines et livres numériques, fantasy et fantastique, féminisme et luttes LGBT ; et puis de mes livres aussi quand même pas mal
Home

Aller au menu | Aller à la recherche

Convertir des epub en PDF pour sa liseuse ?

, 21:05 - Lien permanent

Une fois n'est pas coutume, je vais plutôt parler lecture que écriture, et plus particulièrement lecture sur liseuse, des différents formats, et de comment faire des conversions de l'un à l'autre.

Les liseuses, c'est cool

Tout d'abord, je tiens à dire que j'aime beaucoup lire sur liseuse. J'ai eu la chance qu'on m'en offre une à Noël 2013, et ça a vraiment changé ma façon de lire.

Pour moi, c'est l'idéal. Ça permet de ne pas avoir à se trimballer des livres volumineux, et quand on lit de la Fantasy où les livres sortent souvent en grand format, ont un nombre de pages conséquents, et où une histoire fait au minimum trois tomes, c'est bien. Par ailleurs grâce à la technologie e-ink on n'a pas besoin de recharger l'engin en permanence, ce qui permet de partir une semaine en vacances sans trimballer de cable, ce qui à mon avis est l'avantage par rapport à, mettons, une tablette.

Je ne dis pas tout cela pour vous convaincre d'acheter une liseuse. Je dis juste ça pour dire que j'apprécie cette technologie. Vraiment.

Problème de composition

Cela étant dit, par rapport à un livre papier mis en page correctement, je suis désolée, mais au niveau de la composition, c'est souvent assez merdique.

La composition, c'est quoi ? Ça se dit typesetting en anglais, et c'est la partie de la mise en page qui va consister à décider quelles lettres sur telle ligne, si on décide de faire passer un mot à la ligne suivante pour que ça tienne ou si on le coupe en deux, si on fait passer une ligne sur la page suivante pour ne pas qu'elle se retrouve seule, ou encore de faire en sorte d'éviter de se retrouver avec un point d'interrogation en début de ligne.

Lorsqu'on a un fichier PDF, on fait cette composition une fois pour toutes : on sait qu'on va avoir un roman écrit en 11pt sur du A5, et c'est fait, point. Si on décide de changer de format, on doit refaire cette composition, soit en utilisant des logiciels qui vont essayer de faire le boulot le mieux possible (comme le vénérable TeX), soit manuellement en insérant un saut de page pour éviter qu'une ligne se retrouve toute seule, soit en mélangeant les deux techniques.

Ce n'est à première vue pas l'idéal pour une liseuse : en effet, les liseuses ont des tailles d'écrans différents, et les utilisateurs peuvent aussi préférer augmenter ou diminuer la taille de caractères à leur convenance. On utilise donc à place en général le format Epub, qui est en gros du HTML, et l'idée est que cette composition se fait en temps réel.

Et donc, moins bien. Je n'ai pas essayé toutes les liseuses, juste la mienne, plus quelques moteurs de rendus Epub sur ordinateur, et, désolée, mais ce n'est pas du niveau d'un livre papier. Je l'admets : pour un roman ou il n'y a pas de mise en page compliqué, c'est suffisamment correct pour que ça n'interrompe pas trop la lecture et qu'on puisse continuer, mais on peut faire mieux. Surtout que ma liseuse a la fâcheuse tendance de faire des césures pour le coup vraiment pourries. Par exemple dans « césure » on sait qu'en français on peut couper entre « cé » et « sure » mais que par contre il serait pour le moins étrange de couper juste la dernière lettre. Bon, ben, ma liseuse ne le sait pas toujours.

Il y a d'autres trucs plus subtils qu'on ne remarque pas forcément mais qui joue sur le rendu, comme jouer sur l'espacement entre les caractères et les mots (le crénage), ou les ligatures typographiques (par exemple fi devient fi).

La solution (?) : du PDF adapté à sa liseuse

Une solution pour avoir une composition plus propre serait donc d'avoir un fichier PDF qui soit adapté à la taille de ma liseuse et à la taille de caractères que je suis capable de lire. Or, avec LaTeX (basé sur TeX), je sais qu'à partir d'un fichier source écrit dans ce langage, je peux générer un fichier PDF à n'importe quelle taille et qui ait une composition assez propre.

Il faut signaler que le moteur de LaTeX fait beaucoup plus de boulot que celui qui sert à afficher le rendu d'un Epub ou d'une page Web, et il peut faire ça parce qu'il n'a pas besoin d'être en temps réel. Même sur un ordinateur puissant, cela peut prendre entre quelques secondes et quelques minutes (plus il y a de figures, d'images, de tableaux, etc. plus ça prend de temps). Ce n'est donc pas adapté si on a envie que le texte s'affiche instantanément lorsqu'on décide de changer la taille des caractères ; mais comme je sais à peu près la taille qu'il me faut et que je le génère de façon à ce qu'il soit adapté pour ma liseuse, ce n'est pas embêtant.

Malheureusement, il y a un souci : la plupart des livres numériques dont je dispose, je les ai téléchargés au format Epub, je n'ai pas les sources LaTeX.

Où l'on refait de la pub pour Pandoc

C'est donc le moment de faire une nouvelle fois de la publicité pour ce fabuleux convertisseur qu'est Pandoc (j'en avais déjà parlé lorque je m'étais mise à utiliser le format Markdown pour l'écriture de mes textes). En effet, Pandoc est, depuis la version 1.13, capable non seulement de générer de l'Epub mais de le prendre en format d'entrée, ce qui permet de convertir un fichier Epub en LaTeX (ou directement en PDF).

Il ne restait donc qu'à générer un template LaTeX adapté à ma liseuse. Malgré le fait qu'il soit pour le moins très crade (et, tel qu'il est, uniquement adapté pour le français), le voici. Si d'aventure vous aviez envie de jouer avec, sachez juste que la ligne à modifier pour l'adapter à votre liseuse est la suivante (et en particulier les paramètres 'paperwidth' et 'paperheight' :

\usepackage[paperwidth=4.07in, paperheight=5.43in, top=1cm, left=0.5cm,bottom=1cm,right=0.5cm]{geometry}

Il suffit ensuite de placer ce fichier dans un répertoire "templates", et de jouer un peu avec les options de Pandoc, et la ligne suivante devrait fonctionner (à supposer que vous ayez placé le répertoire templates dans le répertoire courant ("./") :

pandoc -s --chapters  --data-dir=./ --from=epub -o livre.pdf livre.epub

Bilan et perspectives

J'ai testé ça sur quelques livres numérique que j'avais téléchargés, et j'ai eu à vrai dire la surprise que ça marche pratiquement du premier coup. En regardant de plus près, tous les fichiers n'étaient pas parfaits, il y avait parfois des petits soucis liés à l'encodage, donc il faudrait regarder ça de plus près, mais mon but était à vrai dire surtout de tester ce que ça pouvait donner, pas de proposer un super outil.

Et le résultat, ma foi, est plutôt joli, ça ressemble plus à un vrai livre papier, c'est cool.

Et en même temps... ben, le truc c'est qu'une liseuse c'est quand même fait pour lire un fichier Epub, pas un PDF. Et le problème avec un PDF, même mis à la bonne taille, c'est que certaines fonctionnalités disparaissent, comme pouvoir invoquer le dictionnaire en appuyant sur un mot (notamment pratique pour lire en anglais, mais aussi parfois pour le français). Et, surtout, soyons honnête, je n'ai pas véritablement le courage de faire ça pour tous les livres de ma collection, sachant que ça risque d'impliquer que la conversion se fasse correctement.

Cela dit, je tire de tout ça trois conclusions :

  1. LaTeX, c'est cool, et Pandoc aussi et le tout c'est des logiciels libres, youpi.
  2. Ce serait chouette que ma liseuse intègre un moteur de rendu basé sur TeX. Pas forcément le truc par défaut, en option, ça fait que le livre prendrait peut-être une minute à devoir être « recalculé » quand on décide de changer la taille de caractères, mais putain ce serait quand même autre chose. Et puis tant qu'à écrire au père Noël, si c'était du logiciel libre, si je tombais pas, trop souvent, sur des « livres » numériques verrouillés par des DRMs sur ces livres (il est évident que s'amuser à convertir un livre ça marche pas s'il y a ces DRMs), etc. Mais bon, on peut toujours rêver...
  3. De manière plus réaliste, on pourrait peut-être envisager de pas avoir à se taper de manipuler directement pandoc en ligne de commandes et envisager un joli plugin pour Calibre qui ferait tout ça automatiquement et produirait un joli PDF qu'il enverrait sur la liseuse[1]. J'avoue que je ne suis pas persuadée d'avoir l'énergie, la motivation, ni les compétences techniques pour m'y coller, mais bon, on ne sait jamais...

Note

[1] Si ça se trouve ça existe déjà d'ailleurs, j'avoue que je n'ai même pas vérifié

1359 lectures

Annexes

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

Fil des commentaires de ce billet