Créer un ePub/Mobi d’un clic, depuis Word

Préambule

Où je plante le décors et explique au lecteur stupéfait ce que je fais et le but de mon petit script.

J’écris un roman, dans Word sous Windows. J’aimerais pouvoir lire et annoter le manuscrit sur mon iPad, vautréconfortablement installé dans le canapé, pour ensuite reprendre ces annotations et corrections dans le manuscrit lui-même, sur l’ordinateur. Malheureusement, Microsoft Office n’est toujours pas disponible sur iOS et, pour diverses raisons, les apps alternatives ne me conviennent pas. Exit la lecture des fichiers Word sur l’iPad, donc ? Aucune solution ? Dois-je me résoudre à revenir à Markdown ?

—David, me dis-je en me regardant droit dans les yeux (oui, je me parle à moi-même et je me regarde dans les yeux), la situation est grave mais pas désespérée à ce point-là.
—C’est vrai, j’ai qu’à acheter une Surface 2, y a Word dessus !
—Trop chère. En plus, t’as déjà commandé le nouvel iPad mini.
—Ouais, t’as raison… Mais y a Word dess…
—Oublie Word et fais attention, STP. Sur ton iPad, tu peux facilement lire des ebooks, ePub et Mobi, non ? Et tu sais que tu peux aussi très facilement les annoter ?
—Oui, et alors ? me suis-je dis à moi- même.
Et alors ? Seigneur, aidez-moi à ne pas me donner de baffes… Comment tu les fais, tes ebooks, andouille ?
—Dans Calibre, depuis un fichier Word.
—Et…
—Et ? Ben… heu… ça marche bien !
—Ouiiiii. Et… ? Tu vois où je veux en venir ?
—Non, mais je veux bien un thé.
Gnnnnn. Imagine un instant que ça soit automatisé.
—Le thé ?
—Mais non ! La création d’ebook ! Tu veux que je t’étrangle, ou quoi ?
—Non.
—Donc, avec un script, tu aurais un nouvel ePub/Mobi qui serait envoyé sur ta tablette chaque fois que tu sauvegarderais ton manuscrit dans Word, ou chaque fois que tu le déciderais. Là, tu piges ?
—… Non.
—Tu pourrais lire et annoter ton ebook sur la tablette, puis récupérer tes annotations pour travailler sur l’ordi. Et tu serais toujours sûr d’avoir la dernière version.
—Aaaah. Oui. C’est une bonne idée. Mais pour le thé, alors ?

Après avoir repris conscience, suite à un auto-étranglement rageur, poussé par mon insatiable curiosité, ainsi que par la promesse d’une tasse de thé, je me suis fait un script sur mesure qui :

  1. Récupère le titre du roman dans les propriétés du fichier Word, pour en faire le titre de l’ebook (c’est plus sympa dans la bibliothèque qu’un ebook intitulé “Unknown”).
  2. Enregistre le document actif, aka “le roman”.
  3. Copie le texte que vous avez sélectionné (tout le manuscrit ou une partie seulement) dans un nouveau fichier (histoire de pas faire de connerie avec l’original), qu’il enregistre dans un dossier temporaire.
  4. Exécute dessus la ligne de commande Calibre pour :
    • Créer un epub.
    • Créer un mobi.
  5. Ces ebooks préservent les éventuels titres utilisés dans le manuscrit. Calibre ajoute également un saut de page avant chaque titre de niveau 2, niveau qui correspond aux chapitres dans mon roman.
  6. Enregistre ces ebooks dans un dossier qui est synchronisé sur iPad. Dans mon cas c’est via SkyDrive mais ça marchera aussi bien avec Dropbox ou un autre. On pourrait aussi l’envoyer par email, mais pourquoi s’emmerder ?

C’est une macro VBA testée uniquement dans Word 2013, sous Windows. Pour que ça fonctionne, Calibre doit être installé (testé avec la version 1.10) car c’est lui qui se charge de créer les ebooks (pourquoi pas réinventer la roue et le fil à couper le beurre, tant qu’on y est ?).

Sub ExportDoc()

‘ Macro to create an epub/mobi from a copy of the active docx
‘ Save in a folder: ie, SkyDrive or Dropbox.
‘ So, you can read (and annotate) an epub/mobi of you current manuscript
‘ from any tablet with SkyDrive/Dropbox or whatever
‘ Download latest version: http://davidbosman.fr


    ‘Get doc’s title from its metadata:
    MyTitle = ActiveDocument.BuiltInDocumentProperties(« Title »).Value
    ‘Saving actual doc.
    ‘Copy selection from active doc to pasteboard
    ‘create new doc, paste selection and
    ‘save it as a new DOCX file in a temp folder on c: drive
    ‘To be clear: there won’t be any change made to the original doc
    ThisDocument.Save
    Selection.Copy
    Documents.Add DocumentType:=wdNewBlankDocument
    Selection.PasteAndFormat (wdPasteDefault)
    Selection.HomeKey Unit:=wdStory
    ActiveDocument.BuiltInDocumentProperties(wdPropertyTitle) = MyTitle
    ActiveDocument.SaveAs2 FileName:= »C:\export\draft.docx », _
        FileFormat:=wdFormatDocumentDefault
    ‘Close the new docx and run Calibre CLI to convert it to epub and mobi,
    ‘in my case, files are saved into SkyDrive folder
    ‘–page-breaks-before= » »//h:h2″ » insert a page break before Level 2 title,
    ‘change to h1 to insert the break before each level 1, and so on.
    ‘Change path with your user name and desired output folder:
    ActiveDocument.Close
    Shell « ebook-convert C:\export\draft.docx C:\Users\David\SkyDrive\draft.epub –page-breaks-before= » »//h:h2″ » », vbHide
    Shell « ebook-convert C:\export\draft.docx C:\Users\David\SkyDrive\draft.mobi –page-breaks-before= » »//h:h2″ » », vbHide
End Sub

 

Edit : le script au format TXT

Pour le lancer, il suffit de sélectionner tout le texte de votre fichier (ctrl+a), ou seulement la section que vous souhaitez relire, et d’exécuter la macro…  Je vous suggère de lui assigner un raccourci clavier et de l’ajouter à la barre d’accès rapide dont je ne cesserai jamais de dire à quel point elle est pratique.

Sans titre

Tu peux me réexpliquer à quoi ça sert ?

Comme je l’ai déjà dit : ça me semble une façon acceptable de relire et annoter mon manuscrit sur une tablette—notez que je ne parle pas de le réécrire de fond en comble : je ne me vois pas faire ça sur une tablette, de toute façon.

Mais il y a un autre intérêt à la chose : en le lisant comme un epub/mobi, sur une tablette ou une liseuse, je vais lire mon roman exactement dans les mêmes conditions que mon (très hypothétique) lecteur. C’est pas mal, pour savoir si on a réussi à écrire une histoire qui donne envie de tourner les pages, ou de faire défiler l’écran, pour paraphraser le maitre incontesté en tournage de pages : Stephen King—t’as vu comme je me greffe à l’actualité du moment ? Trop fort.

Je peux facilement imaginer aussi filer cet ePub à mes beta lecteurs (enfin, si j’en ai), et leur demander de me renvoyer uniquement leurs annotations.

Bref, c’est une expérience à tenter. Et le script me permet de le faire sans me prendre la tête. Et sans quitter Word.

Il y a des limites ?

Surement un paquet. Je ne vais vraiment commencer à l’utiliser, et voir si c’est viable, que dans les jours qui viennent.

En plus de ça, mon but n’est pas de faire un ebook destiné à la publication mais un fichier que je puisse (faire) lire sur tablette ou liseuse, pour corriger mon manuscrit : je me fiche des petits problèmes éventuels de mise en page. On notera quand même que Calibre fait un assez bon boulot, pour pour peu que l’on utilise correctement les styles dans Word.

<

p>Edit: Sur le même sujet, Exporter les commentaires d’un fichier Word

14 commentaires » Ecrire un commentaire

      • Une fois corrigées les petites erreurs dues aux css (genre les guillemets françaises) et les chemins de fichiers adaptés, ça ne fonctionne pas fort chez moi. En fait la ligne « shell … » me renvoie une erreur 53 (fichier non trouvé). J’ai bien Calibre d’installé et si je l’exécute depuis un cmd ou powershell, ça fonctionne bien. Je vais creuser encore tout ça…

        • Sur le coup, j’ai été con de pas mettre le script en TXT. C’est corrigé voir le Edit juste sous le code 😉

          Vérifie qu’il n’y a pas d’espace dans le chemin d’accès ? Sinon met-les en quotes ?

          • Évidemment il a suffit que je retente aujourd’hui pour que ça fonctionne du 1er coup :-p Peut-être que ça ne fonctionnait pas parce que je venais d’installer Calibre sur cette machine et n’avais pas redémarrer encore la machine, je ne saurais jamais 🙂

            Bien vu pour la version txt, c’est une bonne idée !

    • Oui, j’avais lu le billet sur le blog de Charles Stross (un auteur dont je suis fan), sans lui trouver plus d’intérêt que ça (here).

      À noter que dans le billet original il n’y a pas cette capture débile d’une ancienne version de Word comme dans la traduction française, avec toutes les barres d’outils affichées d’un coup, plus Clippy.

      Pourquoi n’ont-ils pas choisi ma capture d’écran de Word, à la place ?

      C’est du troll grossier. C’est ce genre de choses qui fait que j’ai cessé de m’intéresser (et de sponsoriser, modestement) le Libre. Et, franchement, cette mentalité ne me manque pas.

      S’il fallait caricaturer GNU/Linux, comme ils le font de Word en exhibant une vieille version, cela reviendrait à montrer un Linux en ligne de commande, ou des fenêtres avec des graphismes pourris, ou alors de parler de recompiler son noyau pour installer un périphérique. Ou encore montrer un fichier de configuration en mode TXT au lieu d’un GUI. Et ce serait totalement crétin, à mon avis, aussi crétin que cette capture d’écran obsolète.

      Quant au billet de Stross : il pense ce qu’il veut, il a certainement plus d’expérience que moi. En ce qui me concerne : Markdown/TXT n’a jamais été ma religion, Word ne l’est pas plus… ni Scrivener, dans lequel j’écrivais juste avant de réagir ici 😉

      Dans tous les cas, ce sont des outils que je choisi d’utiliser ou pas, ce ne sont pas les outils qui décident. Ni l’avis d’aucune communauté… sauf si elle décide de me sponsoriser, pour que je n’ai plus à travailler pour gagner ma vie. Et encore 😉

  1. Pourquoi ne pas utiliser Office Mobile 365 ?ici Sur iPhone je trouve qu’il fait le job, mais je n’ai pas eu l’occasion de le tester sur iPad.

  2. Rétrolien : S’isoler pour travailler | davidbosman.fr

  3. Rétrolien : Envoyer des ebooks au Kindle, depuis Calibre | davidbosman.fr

  4. Rétrolien : OneNote, Notational Velocity et les autres se tiennent la main et font la ronde | davidbosman.fr

  5. Bonjour,

    J’ai un Kindle que ma fille m’a donné (ayant du mal à lire les caractères des livres) , et il est toujours à son nom … Il y a des livres téléchargés sur ToutBox (sans DRM), que je n’arrive pas à « entrer » dans CALIBRE, ils sont pourtant en EPUB (le format n’est pas pris en charge ou quelque chose de ce genre). Comment puis-je faire. Je vous remercie si vous pouviez m’expliquer (j’ai 78 ans et ne suis pas trop à l’air sur Internet). Cordialement.

    • Bonjour, Je ne connais pas Toutbox, mais je dirais que si le livre n’est pas lisible par Calibre, même sans DRM, il s’agit probablement d’un souci du côté de la fabrication de l’ebook lui-même. Pour ce qui est de la qualité des ebooks, on peut trouver tout et n’importe quoi sur certains sites, malheureusement. Je n’utilise pas toutbox, mais vous pouvez peut-être demander de l’aide aux autres utilisateurs du service (ils ont probablement rencontré le même souci) ?