Vous êtes sur la page 1sur 42

TUTORIEL POUR LA CREATION DUN EBOOK DJVU

Table des matires

1) Programmes utiliss dans ce tutoriel 2) Numrisation des pages en mode automatis 2.1 Avec un appareil photo numrique 2.2 Si vous avez un scanner, crez un script Autohotkey ! 2.3 Pour scanner plusieurs pages avec IrfanView 2.4 Pour crer un script de scan automatis avec IrfanView 2.5 Lancement du script Autohotkey pour le scannage automatique 2.6 Renommage par lot des pages scannes avec IrfanView 3) Redressement de pages scannes avec Abbyy Finereader 4) Cadrage des pages redresses avec IrfanView et Autohotkey 4.1 Quelques fonctionnalits et raccourcis utiles de IrfanView 4.2 Script autohokey pour le cadrage semi-automatique des pages 5) Amlioration des pages avec Photoshop CS3 5.1 Filtres utiles photoshop pour lamlioration des pages 5.2 Quelques outils de Photoshop CS 5.3 Cration dun script Photoshop pour lamlioration des pages 6) Cration de fichiers DJVU partir de Document Express 6.5 Pro 6.1) Lancement de Document Express 6.5 Pro partir de Cracklock 6.2) Cration de Djvu partir dimages JPEG ou TIFF 6.3) Ocrisation de fichiers DjVu partir de Finereader 9 Pro 6.4) Imbriquer le texte ocris de Finereader avec DjvuOCR 6.5) Cration dun fichier Djvu entirement ocris 7) Cration semi-automatique de Liens dynamiques dans un Djvu 7.1) Annotations dynamiques menant vers une page (cliquables) 7.2 Script des annotations dynamiques (aucun clic sur les icnes) 7.3 Bookmarks pour la navigation dans le document DjVu 8) Quelques prcisions sur la commande djvused 9) Utilisation de Thumbsplus

But : crer un fichier Djvu interactif (avec texte cherchable (OCR), bookmarks et hyperliens) partir de pages scannes ou photographies

1) Programmes utiliss dans ce tutoriel ( tlcharger ici)


-

Autohotkey & Autoscriptwriter (pour lautomatisation de tches diverses dans Windows avec nimporte quel logiciel, la cration de raccourcis quelconques) Photoshop portable CS3 (pour lamlioration des pages, la retouche de certains dtails)

IrfanView (pour le cadrage des pages, lautomatisation du renommage de fichiers, la conversion de format, du cadrage Thumbsplus (pour le traitement par lots dimages, parfois utile) Abbyy finereader pro 9 (pour le redressement des pages scannes + locrisation de fichiers djvu) Document Express 6.5 Pro, et DjVuViewer de Caminova (dition + lecture de DjVu) DjvuOCR (pour lincorporation du texte ocris par Abbyy finereader dans le fichier djvu, le retrait du texte) djvused.exe (pour lutilisation de lignes de commandes permettant de multiples oprations sur les fichiers djvu) Cracklock (pour lutilisation illimite des versions dessai de logiciels tels que Djvu Express Editor) Bookmarktool 2 (pour la gestion des bookmarks (ou outline ) , larborescence, le plan de navigation du djvu pour laccs rapide certaines pages jEdit 4 (version java, pour diter des fichiers texte divers, notamment les fichiers bookmarks sous format html et les annotation (rectangles dynamiques apparaissant dans le djvu) un lecteur mp3 (pour couter vos titres prfrs pendant les longs moments crer le djvu !! Winamp conseill)

Commencez par installer ces programmes

2) Numrisation/scan des pages en mode automatis 2.1 Avec un appareil photo numrique
Si vous navez pas de scanner, utilisez un appareil photo numrique classique, 5 mgapixels minimum si possible, idal 10 Mp, vitez le flash sur les pages brillantes, larrondi des pages nest pas gnant car Finereader 9 peut dcouper les double-pages photographies et aussi redresser automatiquement larrondi proche de la ligne centrale, et aussi les pages scannes de travers.

2.2 Si vous avez un scanner, crez un nouveau script Autohotkey


Clic droit sur le bureau, nouveau/ Autohotkey script, donnez un titre par exemple : autoscan.ahk, puis Entrer, le script est encore vide ce stade. Ensuite clic droit sur le fichier cr, Edit script et laisser le fichier ouvert rduit dans la barre des tches pour le complter comme indiqu ci-aprs.

2.3 Pour scanner plusieurs pages avec IrfanView, et pour lenregistrement multipages en .jpg ou .tif spars partir du scanner
Ouvrir IrfanView, File/Select TWAIN Source, slectionnez le modle du scanner) puis File/Acquire-batch scanning, cochez multipage images, mettez le numro de la premire page scanne [pour les pages hors du corpus de texte, comme la table des matires, etc ajoutez par exemple le prfixe COUV_ signifiant couverture dans Output file name pour les pages allant de la 1re de couverture COUV_00 (number of digits 2) jusqu la page prcdant la page numrote 1], (vous pouvez mme ajouter lintitul du livre, par ex. pour un livre de physique-chimie 1 re anne, on mettra PC1_, et PC1_COUV_, mais vaut mieux mettre lintitul en suffixe : ###_PC1, et COUV_##_PC1, on verra pourquoi ensuite ); increment 1 si vous faites toutes les pages conscutivement, sinon 2 si vous scannez en double-pages ou bien une page sur 2, number of digits 3 pour la plupart des livres (qui ont moins de 1000 pages, pour les livres de + de 1000 pages vous pouvez toutefois laisser 3 digits, cest plus pratique pour la suite). Cochez Skip existing files, remember last scan counter, choisissez un dossier de destination des pages scannes, par exemple nomm livrescan, pour le format : .tif, compression LZW pour un livre en noir&blanc, ne PAS cocher save as multipage image, ou bien jpeg pour les livre en couleur ou niveau de gris (ayant des surfaces grises). Une fois ces rglages termins : Cliquez sur OK et la fentre de numrisation de VOTRE SCANNER va souvrir. Dans les paramtres, choisissez si possible 300 dpi, mode noir et blanc, couleur ou niveau de gris suivant les couleurs prsentes dans le livre, (si votre scanner est trop long, mettez 200 dpi, mais en-de, la qualit sera faible) rglez la longueur de numrisation de page par rapport la hauteur du livre grce un aperu (seulement pour la 1re page ! aprs toutes les autres auront la mme longueur de numrisation, pour la largeur aucune importance laisser 210mm (scanner A4) car on ne gagne pas de temps sur la largeur, juste sur la longueur. (on cadrera les pages avec IrfanView plus tard comme dcrit ci-aprs).

Pour commencer la numrisation, cliquez sur le bouton de la bote de dialogue de numrisation de votre scanner ouverte partir dIrfanView qui va automatiquement numroter les images chaque clic de numrisation. Heureusement, au lieu de cliquer chaque fois sur le bouton, on peut automatiser le clic toutes les x secondes (temps aller-retour de scannage de votre scanner). Voici comment crer le script adquat

2.4 Pour crer un script de scan automatis avec IrfanView, afin de simplement retourner le livre chaque scan, sous plus toucher rien sur lordinateur !
Ouvrez Autoscriptwriter, mettez les fentre de ce programme et de la bote de dialogue de numrisation du scanner cte cte, cliquez sur Record ce moment-l, tout ce que vous effectuez avec la souris et/ou le clavier partir de la fentre dun programme actif ou sur le bureau senregistre sous forme de scripts autohotkey chaque opration ! (pas grave si vous ne connaissez pas les commandes autohotkey, elles sont crites dans la fenetre dautoscriptwriter) Trs pratique. Dans le cas qui nous intresse, cliquez sur le bouton de numrisation de la bote de dialogue du scanner (elle doit dj tre ouverte partir de IrfanView cf 2.3). (pas le bouton rel !!, tout se passe sur lcran !) Enfin, quand le scanner a termin laller-retour, cliquez sur Stop pour arrter lenregistrement.

Observez, aprs cette phase record, les commandes cres dans la fentre ci-contre, commandes correspondant lactivation de la boite de dialogue de votre scanner + les coordonnes du clic sur le bouton de numrisation. Vous allez vous aider de ce script cr pour modifier le script suivant.

Dans le script autoscan.ahk dj ouvert vierge, crivez (ou copiez) les commandes suivantes (ATTENTION : les parties gras en bleu dpendent de votre scanner et seront diffrentes des miennes !! Grce la fentre cidessus de autoscriptwriter, vous devez modifier ces parties en bleu), qui permettent de faire une boucle cliquant automatiquement des intervalles rguliers sur le bouton de numrisation [intervalles = temps de scannage aller-retour de VOTRE SCANNER]: (les phrases aprs les ; sont des commentaires sans effet sur le script qui donnent des explications sur le script, vous ntes pas oblig de les copier)
; AutoHotkey Version: 1.x ; Language: ; Platform: ; Author: ; ; Script Function: ; Template script (you can customize this template by editing "ShellNew\Template.ahk" in your Windows folder) ; English Win9x/NT A.N.Other <myemail@nowhere.com>

#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.

Sleep, 2000 ; ceci permet de commencer le clic au bout de 2 secondes, une fois que vous aurez lancer ; le script, a permet davoir le temps de placer le livre sur le scanner avant de dmarrer la boucle

Loop, 100 ; loop correspond une boucle : ici, 100 fois de suite, le script va faire cliquer la souris sur ; le bouton de numrisation de la boite de dialogue du scanner (vous pouvez remplacer 100 ; par une autre valeur, par exemple si le livre fait 1000 pages, mettez 1000, mais ; a na aucune importance, relancez le script ds que la boucle est termine)

; laccolade suivante est le dbut de la boucle { ; le script suivant active la boite de dialogue de votre scanner, ; jai un scanner brother DCP-130C dont la boite de dialogue sintitule ; Paramtrage du Scanner TW-Brother DCP-130C USB - 3.9 ; la partie suivant active cette fameuse boite de dialogue : WinWait, Paramtrage du Scanner TW-Brother DCP-130C USB - 3.9 - , ; remplacez Paramtrage.etc. par le nom de votre fentre comme affich ; dans Autoscriptwriter IfWinNotActive, Paramtrage du Scanner TW-Brother DCP-130C USB - 3.9 - , , WinActivate, Paramtrage du Scanner TW-Brother DCP-130C USB - 3.9 - , WinWaitActive, Paramtrage du Scanner TW-Brother DCP-130C USB - 3.9 - , SendEvent {Click, left, 569, 333} ; ceci est le fameux clic sur le bouton de numrisation de la boite de dialogue ; de votre scanner. Evidemment, remplacez les 2 valeurs ci-dessus 569 et 333 par les ; coordonnes apparues dans Autoscriptwriter lorsque vous avez cliqu sur le bouton ; de numrisation lors de la phase record ; pour plus de dtails sur la manire de faire cliquer ou faire presser une touche ; au script, reportez-vous dans laide :cherchez keystrokes dans lindex ; tous les dtails sont expliqus sur les Send, SendEvent, etc Sleep, 21000 ; sleep correspond une pause dans lexcution du script dune dure donne en millisecondes, ; mon scanner brother met 21 secondes environ pour scanner en aller-retour ; avant de pouvoir recliquer sur le bouton de numrisation pour une autre page ; remplacez 21000 par la dure aller-retour de votre scanner, ; cette dure dpend de votre scanner et de la hauteur de page du livre scann

; les commandes suivantes (facultatives) taient initialement prvues pour produire ; un bip sonore quand le scanner avait scann la page laller, ds que je lentendais ; je retournais le livre le temps du retour de la lampe ;SoundBeep, 600, 100

; SoundBeep produit un bip sonore de frquence donne (ici 600Hz), pour 1 dure donne ; (ici 100 ms) ;Sleep, 11600 ;Config pour A4 : ;Sleep, 7000 ;SoundBeep, 600, 100 ;Sleep, 13600 } ; fin de la boucle ; Ainsi, au lancement de ce script, la souris clique toute seule sur le bouton de numrisation de ; la boite de dialogue de votre scanner intervalle rgulier (ici 21 secondes) p::Pause ; pendant lexcution, vous pouvez tout moment appuyer sur p pour faire une pause, ; pour suspendre les clics, rappuyez sur p pour reprendre les clic ; cette pause est utile ! par ex. prendre un caf, une page du livre ; qui pose problme, etc. ; plus gnralement pour crer un raccourci avec une touche, reportez-vous dans laide ; la section hotkeys (recherchez hotkey dans lindex)

Une fois que vous avez copi/modifi ce script dans autoscan.ahk, enregistrez-le. (fichier/enregistrer)

2.5 Lancement du script Autohotkey pour le scannage automatique


Assurez-vous que IrfanView est bien paramtr (cf 2.3), et que la bote de dialogue de votre scanner est ouverte, prte numriser (ouverte partir de Irfanview : acquire/batch scanning (raccourci Ctrl+Shift+A, voir dtails ci-dessus en 2.3) Ensuite, double-cliquez sur licne de autoscan.ahk pour lancer le script. A ce moment une petite icne verte H apparat dans la barre des tches. Le script est actif ! [remarque : vous pouvez

dsactiver le script et ses raccourcis tout moment : clic droit sur licne, cochez suspend hotkeys ] Au bout de 2 secondes (car Sleep 2000 dans le script), le clic se fait tout seul sur la fentre de scan. Quand la page est scanne, retourner le livre pour passer la page suivante, et quand la lampe est revenue au point de dpart, normalement si votre temps est correct, le clic suivant se produit, et ainsi de suite. Ceci vous libre de toute opration sur lordinateur, vous pouvez pendant ce temps regarder la tl, couter la musique, etc, la seule chose que vous faites : tourner les pages ! (cest pourquoi au dpart jai mis un bip pour savoir quel moment il fallait retourner le livre, jai donc dans le script dcomposer le temps total de 21 sec en 2 temps de 10 sec et 11 sec spars par un bip, mais avec lhabitude, ou au bruit du scanner, vous savez quand le scan-aller est termin). Relancez le script si la boucle est termine.

2.6 Renommage par lot des pages scannes avec IrfanView


Une fois que toutes les pages sont scannes grce lautomatisation ci-dessus, normalement la numrotation des images doit tre correcte si le paramtrage expliqu en 2.3 est correct (correspondance entre N image et N de page) Toutefois des erreurs peuvent arriver, cause des pages blanches par exemple, une page oublie, un scan deux fois de suite dune mme page, etc) Heureusement IrfanView facilite la tche est permet le renommage par lot. Ouvrez IrfanView, File/Batch Conversion rename (ou appuyer sur B ), cochez batch rename. Dans Regarder dans allez dans le dossier contenant les pages scannes, slectionnez les pages mal numrotes, puis cliquez sur Add, Cliquez sur Sort Files, cochez by Name, cochez Auto sort file list after insert.

Ensuite, une fois les pages mal numrotes ajoutes, cliquez sur Options dans batch rename settings

Supposons que lerreur de numrotation se situe la page 11 du livre dont les pages scannes sont nommes PC1_001, PC1_002, etc (PC1 correspond un intitul du livre, vous ntes pas oblig den mettre, les ### sont les 3 chiffres (=digits) de la numrotation utilise ici. Malheureusement, vous vous rendez compte que PC_012.jpg est en fait la page 11 du livre, jusque PC_033.jpg (qui est donc la page 30) Il faut donc mettre 11 dans Starting counter, increment 1 (les numros vont tre successivement PC1011.jpg, PC1012 .jpg, etc) Si PC011.jpg existe dj dans le dossier, il peut y avoir un conflit de nom, le renommage ne se fera pas ! Donc renommez dabord la page qui cause le conflit. Ensuite cliquez sur OK. Avant de dmarrer le batch, cliquez sur Use current (look in) directory, afin deffectuer le renommage dans le dossier courant. Enfin, cliquez sur Start Batch pour dmarrer le renommage.

Vous pouvez videmment utiliser ce renommage dans dautres cas, pas spcialement pour des pages mal numrotes !
Par exemple, pour ajouter un suffixe ou un prfixe des pages dj numrotes (si vous avez oubli par exemple de mettre lintitul prfixe PC1 dun livre de physiquechimie 1re anne (do PC1) avant le numro des fichiers ###, vous crivez PC1_$N (les starting counter nest pas pris en compte car il ny pas # dans Name pattern) Pour les fichiers Djvu, je vous conseille de mettre plutt un suffixe : le numro de page doit toujours apparatre en premier, cest beaucoup plus pratique pour Djvu Express Editor pour la gestion des pages ! Exemple $N_PC1, $N_L1, $N_astro, etc (pour ajouter _PC1 , _L1, _astro au nom des images) ou ###_PC1, etc pour une renumrotation) Ca donnera des choses du genre 001_PC1, 002_PC2, etc. Ce suffixe nest pas obligatoire mais est utile pour viter les conflits de numro de pages lors de la fusion de 2 fichiers Djvu par exemple, et aussi pour diter plusieurs Djvu fusionns.

3) Redressement de pages scannes avec Abbyy Finereader


Une fois les pages scannes, certaines seront probablement scannes un peu de travers pour un scanner manuel, et/ou tournes de 90, et lenvers pour 1 page sur 2 (pages paires ou impaires) il faut donc les remettre lendroit les redresser !

Abbyy Finereader 9 fait cela trs bien automatiquement ! Allez dans Outils/Options, cochez ne pas traiter les images des pages acquises (car on veut simplement redresser les jpg ou tif, pas ocriser !), Cochez : - corriger lobliquit des images, - dtecter lorientation des pages. Eventuellement cochez segmenter les pages doubles si vous avez scann deux pages la fois (par ex. pour un petit roman qui, ouvert, se scanne entirement en double-page sur le scanner). Ne cochez pas les cases suivantes. Slectionner votre scanner, puis OK.

Ensuite allez dans Outils/tches automatises/automation manager/nouveau. Donnez un nom par exemple Redressepages, OK.

Dans ltape 1, cliquez alors sur Ouvrir des images, puis sur modifier. Cochez Demander le nom du fichier dimage au lancement de la tche, puis OK

Dans ltape 2, cliquez sur Enregistrer des images, puis cliquez sur Modifier. Dans la bote de dialogue Enregister des images, cochez Enregistrer sous le nom spcifi et lemplacement indiqu, choisissez dans parcourir un dossier o enregistrer les pages redresses (diffrent de celui des pages scannes initiale auquel quil ne faut jamais modifier !)

Pour le type : choisissez JPEG, couleur pour les livres en couleur, ou bien TIFF niveau de gris, compression LZW pour les livres en niveau de gris, ou bien encore TIFF noir et blanc LZW pour les livres en noir et blanc (le format .tif en N&B ou niveau de gris est nettement plus rduit en taille quun jpg, par contre un tif couleur prend ENORMEMENT de place ! ne pas lutiliser) Dans la section Nom, ajouter une lettre de repre, par exemple r, pour savoir plus tard que le dossier dimage correspond des pages redresses.

Cliquez sur OK, puis excutez le script : cliquez sur Excuter). Slectionnez dabord les pages scannes numrotes normalement (sans les prfixes/suffixes) de 1 jusque la fin (Remarque pour slectionner facilement : cliquez sur la 1re image redresser, appuyez sur Shift, puis cliquez sur la dernire page redresser.)

Enfin, cliquez Ouvrir. Les pages sont alors automatiquement redresses et enregistres dans le dossier spcifi ! Le seul inconvnient : Finereader numrote toutes les pages redresses dans lordre sans laisser le nom dorigine, voil pourquoi il

faut dabord redresser les pages en deux fois (2 groupes spars, celles avec prfixe/suffixe et celles sans prfixe/suffixe). Une fois cette 1re phase termine, renumrotez les pages redresses grce IrfanView en remettant le mme style de numrotation que les pages dorigine (cf. 2.6), par exemple r-0001.jpg, r-0002.jpg, . Du dossier des pages redresses devront tre renommes en : PC1_001.jpg, PC1_002.jpg, etc

Aprs le renommage de ce premier groupe de pages, rexcutez le script de redressement pour les pages ayant un prfixe/suffixe, par exemple : COUV_00_PC1, COUV_01_PC1, etc Elles seront nommes par Finereader en r-0000.jpg, r-0002.jpg, etc mais grce au mode batch de IrfanView encore (cf 2.6) vous les renommerez en COUV_00_PC1.jpg, COUV_01_PC1.jpg

A la fin de cette tape, vous avez un dossier contenant toutes les pages scannes redresse, ayant une numrotation correcte. [Remarque : pour les pages photographies possdant des pages courbes, vous pouvez dabord redresser les lignes en ouvrant toutes les pages dabord sans traitement, puis cliquez sur le petit crayon de modification dimage en bas droite (ou Ctrl + Shift + C) (figure ci-contre) , puis dans Raligner et redresser, cochez appliquez toutes les pages, cliquez sur les 2 boutons Raligner limage, Redresser les lignes de texte.] Enregistrez ensuite toutes les images (cochez Toutes) dans fichier/enregistrer des images, pas besoin dappliquer le redressement dans ce cas. FIN de la remarque] On peut maintenant passer au cadrage semiautomatis des pages avec IrfanView (appel aussi le crop, qui consiste dcouper en rectangles de mme dimension, pour se dbarrasser des bords).

4) Cadrage des pages redresses avec IrfanView et Autohotkey 4.1 Quelques fonctionnalits et raccourcis utiles de IrfanView
Avant de crer le script, quelques prcision sur les raccourcis IrfanView et le rectangle de cadrage. La touche : o : permet douvrir une image s : permet denregistrer limage dans un dossier qui reste mmoris une fois le 1er enregistrement effectu Ctrl+S : enregistre limage dans le dossier dorigine Crez un nouveau script autocrop.ahk sur le bureau, puis collez le script suivant (bouton droit sur licne autocrop.ahk, edit script) : Flche droite du clavier : permet douvrir limage suivante dans le dossier courant. Flche gauche du clavier : revient limage prcdente dans le dossier courant. Shift + C : dfinit un rectangle de slection (notre rectangle pour croper la page) Ctrl + Y : permet de croper la page, cest--dire que seule la zone dans le rectangle de slection est conserve, la taille de limage a alors la taille du rectangle, on se dbarrasse des bords + /- : pour zoomer ou dzoomer limage courante. F12 : pour afficher une palette doutils affiche ci-contre, par exemple loutil crayon (icne du crayon en haut droite), vous pouvez modifier le diamtre du crayon (Width (px)), puis slectionner la couleur dsire, par exemple pour effacer des tches sur la page ou des textes indsirables (copyright, tampons indiquant la provenance, etc), par ex. pour une page blanche tche, on slectionnera la couleur blanche (cliquez sur le rectangle noir en bas, et choisissez le blanc), diamtre entre 100 et 1000 suivant la taille de la zone gommer.

Enfin, avec la souris :

Un clic and drag (= clic gauche maintenu, puis mouvement de la souris) sur limage fait apparatre un rectangle de slection. Lchez la souris lendroit dsir pour former le rectangle.
-

Un clic droit au-dessus du rectangle permet de le dplacer.


-

Un petit entranement dabord ! Ouvrez une page du livre contenant si possible la zone maximale de corpus de texte (c'est-dire qui a la hauteur de texte maximale, la largeur maximale), tracez avec la souris le rectangle de slection contenant ce corpus de texte en laissant des marges blanches autour, de sorte de ne pas inclure les bordures de scannage, comme sur lexemple ci-contre (rectangle noir visible). Une fois le rectangle trac, mmorisez les dimensions par le raccourci Shift + C (ou Edit/create custom crop selection).

Cliquez sur Save values and exit. Cette option est super, car pour les pages suivantes, on aura juste appeler ce rectangle (Shift + Cg) et cliquer sur Save and apply to image sans redessiner la slection.

Ainsi pour nimporte quel livre, il faudra toujours faire le crop manuellement pour la premire, pour dfinir les dimensions du rectangle de cadrage.

On peut galement utiliser photoshop pour lamlioration des pages, cette tape est explique plus loin, une fois les pages cadres.

4.2 Script autohokey pour le cadrage semi-automatique des pages


On va crer un script (en fait 2 scripts) pour faciliter le cadrage : on aura simplement : 1. positionner correctement la souris (sans aucun clic) un rectangle de dimension donne sur la page redresse courante,
2. puis appuyer sur la barre espace pour : [croper la page, lenregistrer

dans un dossier dfini lavance, et passer automatiquement la page suivante]. On rpte juste 1. et 2. pour la page redresse suivante qui saffiche automatiquement. Ainsi on met seulement quelques minutes pour cadrer des centaines de pages, car on na pas ouvrir sparment les pages, les enregistrer, etc le script magique autocrop.ahk quon va crer fait cela tout seul !

En fait, pour lautomatisation, le script autocrop.ahk fera presser les touches adquates, on a successivement au cours du script :
1) tracer le rectangle automatiquement (Maj+C), 2) on positionne le rectangle correctement manuellement (le clic bouton

droit sur le rectangle se fera tout seul par le script !) En fait ce rectangle est dj peu prs bien positionn si vous avez scann le livre en mettant chaque page peu prs au mme endroit !), donc vous ne bougerez pas beaucoup la souris (ou le doigt sur un touchpad de portable),
3) appuyer manuellement sur espace ds quil est bien positionn 4) croper limage (Ctrl + Y) automatiquement 5)

enregistrer limage (s) automatiquement

6) passer limage suivante (flche droite) automatiquement

Trs pratique ! Les seules phases manuelles sont le positionnement du rectangle, et appuyer sur espace, cest raisonnable pour quelques centaines de pages. Copiez les commandes suivantes dans le script autocrop.ahk nouvellement cr :

#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.

Space:: Send, {Click right up} Send, {CTRLDOWN}y{CTRLUP} Send, s WinWait, Save Picture As ..., IfWinNotActive, Save Picture As ..., , WinActivate, Save Picture As ..., WinWaitActive, Save Picture As ..., Send, {Enter} Send, {RIGHT} Sleep, 100 SendEvent, z

Dans un second script cr sur le bureau que vous nommerez cadre.ahk, copiez les commandes suivantes :

z:: SetTitleMatchMode, 2 WinWait, IrfanView, IfWinNotActive, IrfanView, WinWaitActive, IrfanView, Send, {SHIFTDOWN}c{SHIFTUP}{ENTER} Sleep, 100 MouseMove, 15, 352 SendEvent {Click, right down, 515,352} KeyWait, Rbutton

Explication succinte des 2 scripts de cadrage Dans le premier, on dfinit un raccourci de barre espace qui :

SetTitleMatchMode, 2 : vite dcrire le titre des fentre en entier, afin dactiver la fentre contenant simplement le mot IrfanView dans WinWait, car lintitul de la barre Irfanview change en fonction de limage ouverte, (dimensions de limage affiches aprs le mot IrfanView) Send, {Click right up} : Relve le bouton droit de la souris (car lors du

dplacement du rectangle de slection, le bouton droit est enfonc)


Send, {CTRLDOWN}y{CTRLUP} : crop de limage par le raccourci Ctrl +Y dirfanview de Send, s jusque {Enter} : enregistrement de limage dans le dossier spfici grce la 1re page (nom identique limage ouverte) Send, {RIGHT} : ouverture de limage suivante SendEvent, z : appuie sur la touche z : trac du rectangle de cadrage (z est un raccourci du 2me script)

Le second script, excut par lappui sur z, trace le rectangle de cadrage, et laisse ensuite le bouton droit de la souris enfonc pour permettre positionnement du cadre.

Finalement, pour effectuer le cadrage semi automatique :

a) Ouvrez IrfanView, faites le crop manuel dune page corpus maximal, sauvez les valeurs du rectangle de cadrage, puis enregistrez-l dans un dossier rserv aux pages cadres (ce dossier est mmoris par IrfanView pour la suite) b) Ouvrez ensuite la 1re page du dossier des pages redresses, lancez les 2 scripts (double-clic sur autocrop.ahk et cadre.ahk), et commencez par appuyer sur z pour tracer le rectangle.

c) Ensuite, appuyez sur barre espace (a crop, sauve, puis passe la page suivante) d) Positionnez correctement (avec le doigt du touchpad ou la souris) sans rien cliquer

Rptez c) et d) jusque la fin du livre (vous voyez, seulement 2 oprations manuelles : positionnement et appui sur espace, aucun clic) A la fin de cette tape, on a 3 dossiers dimages : les pages scannes, redresses et cadres.

5) Amlioration des pages avec Photoshop CS3

On peut amliorer dun coup toutes les pages scannes en appliquant un script photoshop que lon cre manuellement. Ce script na rien voir avec Autohotkey.

Si vous trouvez que vos pages scannes sont trop sombres, peu claires, ou bien possdent des lment effacer

5.1 Filtres utiles photoshop pour lamlioration des pages


Effectuons pour shabituer quelques essais sur une page scanne :
a) Exposition : Image/rglages/exposition

(Ctrl + Shift + R) Le curseur Exposition permet de blanchir la page (vers la droite), le dcalage permet de mieux contraster (vers la gauche), la correction gamma renforce les couleurs, laspect gnral (vers la droite)

b) Niveaux : Image/rglages/Niveaux

(Ctrl + L) En gnral, les pages scannes prsentent parfois un fond bruit, la courbe noire ci-contre est alors fortement augmente sur lextrme droite, dcaler lgrement le curseur de droite vers la gauche, cochez aperu et observez en direct le rsultat, jouez galement sur les 2 autres curseurs de

gauche pour amliorer la page. (essayez Auto pour voir, mais pas indispensable)

c) Flou de surface : Filtre/attnuation/flou

de surface Ce filtre est gnial pour faire disparatre le texte qui apparat lgrement au verso de la page scanne, par transparence de la feuille. Mettez le curseur Rayon environ 85-90, et Seuil 10 niveaux environ, observez grce laperu, vous verrez que la surface est beaucoup plus homogne, lisse. Attention toutefois ne pas faire disparatre trop fort les bordures de certains rectangles colors apparaissant des certains livres (par exemple, thorme de maths mis en valeur dans un rectangle bleu, marge colores, etc Le texte de devant, quant lui, reste intact !!

Accentuation : Filtre/renforcement/accentuation
d)

Permet de renforcer le texte parfois un peu ple sur certains livres, ou trop fin. Fait ressortir le texte. Jouez sur les curseurs Gain, Rayon, Seuil pour voir leffet sur la page. Les valeurs mettre dpendent de votre scannage !

e) Tons foncs/tons clairs :

Image/rglages/tons foncs/tons clairs Permet dhomogniser lclairage dune page lorsquil y a trop dcart de luminosit sur la surface, comme a arrive pour les pages prises en photos (voir curseurs ci-dessous)

gamme de tons : permette dclairer (vers la droite) limage rayon : 15px environ facteur : 50% environ quantit : 0% contraste des tons moyens : permet de faire ressortir certains texte Vous pouvez utiliser galement le filtre Renforcement/Plus Net ou Nettet Optimise pour rendre le texte/l'image plus nette. Enfin, f) Luminosit/contraste

Image/rglages/luminosit,contraste Jouez sur les curseurs et voir leffet obtenu, pour avoir une page bien blanche.

Ces filtres sont surtout utiles pour lamlioration de pages en couleur.

5.2 Quelques outils de Photoshop CS


Pour chaque image, vous pouvez la dcomposer en calques, qui sont affichs dans la palette calques grce Fentre/calques (ou F7). Louverture dune image JPG donne un calque verrouill (cadenas) sous forme darrire-plan. Pour le dverrouiller, double-cliquez dessus, donnez un nom au calque, puis OK. Pour slectionner une zone de limage, appuyez sur M (cadre de slection en haut gauche), vous pouvez placer cette slection sur un nouveau calque (bouton droite sur la zone, calque par couper) La palette doutils (ci-contre) permet de multiples oprations. Un bouton droit sur chaque icne fait apparatre les options

Pour dplacer une image dun calque, appuyez sur V, slectionnez le calque dans la palette calques, puis dplacez-la (icne en haut droite : flche noire) Pour gommer une zone : slectionnez le calque correspondant dans la palette calques, appuyez sur E, bouton droit sur licne de la gomme pour choisir la gomme manuelle (ou magique pour gommer les surfaces de mme couleurs), par bouton droit modifez le diamtre et la duret suivant les cas. Pour cloner une zone proche dune autre : tampon de duplication (6me icne gauche en allant vers le bas) Pour tracer une forme colore (par ex. pour cacher une zone du livre avec un rectangle blanc), cliquez, dans la palette outils sur la 9me icne (ou appuyez sur U) sur la droite en allant vers le bas (petit rond blanc sur la figure). Ensuite cliquez sur le petit rectangle blanc (celui de gauche, cf ci-contre), Slectionnez la couleur dsire en cliquant sur le rectangle couleur , puis tracez le rectangle. Dans la palette calques, mettez ce calque de forme au dessus (dplacement grce une slection du calque, puis la souris), ensuite fusionnez ces calques (bouton droit sur un calque, fusionnez les calques visibles) Beaucoup dautres possibilits dans Photshop sont expliques dans des aides ou tutoriaux ddis.

5.3 Cration dun script Photoshop pour lamlioration des pages


Aprs la prise en main de ces outils, crons un script photoshop qui applique automatiquement plusieurs filtres successivement et enregistre les images scannes dun dossier. Aprs avoir fait plusieurs essais de filtres sur vos pages, et dcider quelle squence/ordre de filtres tait la plus adapte (noubliez pas de revenir en arrire Ctrl+Z si cest pas un filtre adquat), annulez toutes les oprations de lhistorique (fentre/historique pour lafficher) : pour cela cliquez sur ltape la plus haute correspondant au 1er filtre appliqu et supprimez-la (toutes les tapes suivantes sont supprimes automatiquement) Pour crer le script, affichez la fentre script (fentre/scripts), cliquez sur crer un ensemble ( droite de la flche, cf ci-

contre), donnez un nom cet ensemble (ici les ensembles visibles sont : scripts par dfaut, raccourcis, retouche. Ensuite, cliquez sur crer un script, donnez un nom, ventuellement une touche de raccourci (pas ncessaire). Par exemple, en donnant le nom Script 1, puis OK, le bouton denregistrement du script est actif (rond rouge). Appliquez alors les filtres tests prcdemment (dans lordre retenu) sur la page ouverte. Toutes les oprations effectues sont notes au fur et mesure. Dans lexemple ci-contre, japplique dabord une luminosit contraste, puis une accentuation. Pour arrter lenregistrement, appuyez sur stop (carr ct du rond). Vous pouvez poursuivre lenregistrement en r-appuyant sur le rond. Possibilit de dcochez certaines tapes du script (coches gauche). Les carrs ct des coches sont pour lattente de saisie de texte dans les botes de dialogue (par exemple : enregistrement de limage, attente quon entre le nom). Seulement dans ce cas, cochez la case correspondante. Vous pouvez enregistrer autant de scripts que vous souhaitez ! Une fois lenregistrement termin pour limage ouverte, appliquez le script toutes les images dun dossier : Fichier/automatisation/traitement par lots Dans la bote de dialogue qui souvre, choisissez lensemble de votre script, puis le nom du script cr, Dans source, choisissez le dossier source contenant les pages scannes, Dans destination, slectionnez le dossier o seront enregistres les pages amliores (les pages dorigine sont les pages scannes OU BIEN cadres OU BIEN redresses, mais autant appliquer le script sur les pages cadres car elles sont dj rduites, donc moins de surface oprer. Parfois lors de lexcution, une bote de dialogue denregistrement souvrira pour CHAQUE page, ce qui empche le droulement pour les pages suivantes. Pour viter ce problme, lors de lenregistrement du script, enregistrer les modifications faites limage dans un dossier, et/ou cochez

Priorit sur les instructions de script Enregistrer sous (cf ci-dessus). Normalement, lenregistrement se fait sans problme sans mme cocher cette case. A ce stade, les pages sont cadres et amliores, on a donc a priori 4 dossiers : pages scannes, redresses, cadres, amliores.

6) Cration de fichiers DJVU partir de Document Express 6.5 Pro 6.1) Lancement de Document Express 6.5 Pro partir de Cracklock
Ouvrir Cracklock Manager (ce programme fait croire aux programmes type Try and buy que la date de lordinateur est toujours celle de linstallation ! A chaque lancement du programme partir de cracklock, on a donc toujours le mme nombre de jours restants avant lexpiration de la priode dessai !) [remarque : si la fentre de cracklock reste rduite dans la barre des tches, passez la souris sur licne de la barre des tches, puis bouton droit sur la mini-fentre qui apparat, puis agrandir] Cliquez sur Add program, allez dans Programmes/Caminova/Document Express 6.5 Professional/bin puis ajoutez DjVuPro.exe Paramtrez le programme ajout par bouton droit, configure et cochez exactement comme sur le modle ci-contre, sauf bien sr la date dinstallation, correspondant la date dinstallation du progamme Document Express 6.5 Pro. (cochez virtual date, virtual time, virtual time zone [madrid, paris], et Freeze date and time). Lancez Document express 6.5 par bouton droit, run puis cancel pour le nombre de jours dessai (donc vous pouvez utiliser le programme en illimit !) Voil ! Vous tes prt pour crer votre document Djvu !

6.2) Cration de Djvu partir dimages JPEG ou TIFF


Ouvrir dabord la premire page uniquement :

File/open (Ctrl +O), choisissez jpeg Files ou Tiff Files suivant le format des pages amliores, et aller dans le dossier contenant les pages amliores. Quand la page souvre, les options de zoom sont les suivantes : affichage 100%, pleine largeur, pleine page, ou personnalis. Choisissez de prfrence Fit page (3me icne de page comme ci-contre) pour avoir laperu global de la page. Ajoutez ensuite les autres pages en faisant bouton droit sur la premire vignette (= Thumbnail) (page 1), puis choisissez Insert Page(s) After Choisissez nouveau le format JPEG ou TIFF suivant les cas, et slectionnez simultanment les pages ajouter aprs la premire page. IMPORTANT : vitez dajouter plus de 100 images la fois, slectionnez seulement les 100 pages suivantes (sil y en a qu moins 100 !) car jai remarqu que ce programme rame normment au-del de 100 pages. Au bout de quelques secondes, les pages sajoutent. Enregistrez alors le fichier djvu par : File/Save as. Dans la bote dialogue qui apparat, choisir : Type : DjVu Files DPI : identique au DPI choisi lors du scannage (si vous navez pas scann les images, pour connatre la rsolution dune image dans Windows : bouton droit, proprits, puis dtail) Profile :
-

pour les pages en couleur, jai constat que la qualit Map avec lossy dans text quality tait trs correcte en rapport qualit/taille, alors quen mode normal certains signes typographiques deviennent flous. Pour les pages noir et blanc, choisir Bitonal, et lossy pour text quality.

Ne pas cocher OCR (sera fait aprs avec Abbyy Finereader 9 bien meilleur que le moteur IRIS utilis dans ce programme) Dans Nom du fichier, crire un nom vocateur des numros de pages. Par exemple pour les pages 1 100 : 001-100_PC1.djvu, pour les pages de COUV_00 COUV_13 : COUV00-15.djvu)

Une fois le Djvu enregistr, fermez le document (pas le programme !), ouvrez la 101me page (et pas les 100 pages suivantes dun coup !) et faites de mme pour ajouter de la 102me la 200me page( bouton droit sur la vignette, insert pages after), enregistrez en format DjVu. [REMARQUE :Quand tous les groupes de 100 pages sont enregistrs, on pourrait ouvrir le 1er groupe, et ajouter les groupes suivants : bouton droit sur la vignette, Insert Page(s) After (mthode identique, sauf quil sagit cette fois de fichiers DjVu), et slectionnez dun coup les autres groupes (ils doivent tre dans lordre). Une fois TOUTES les pages ajoutes, enregistrez par Save As, (et non Save car a remplacerait le 1er groupe de 100 pages !) et donnez un nom pour votre ebook DjVu. Le profil na ici aucune importance, car les fichiers sont dj en Djvu, ne pas cochez OCR non plus. A cette tape, on aurait notre fichier Djvu ltat brut : il contient toutes les pages du livre, mais aucun lien dynamique interne, ni bookmark pour une navigation aise dans le document, ni OCR.] Toutefois, pour ocriser le document, il ne faut pas tout de suite rassembler les groupes de 100 pages, car Abbyy Finereader mettrait beaucoup trop de temps ocriser un Djvu de plusieurs centaines de pages ! Or il est assez rapide pour un Djvu de 100 pages environ.

6.3) Ocrisation de fichiers DjVu partir de Finereader 9 Pro


Ouvrir Abbyy Finereader 9 Pro, et dans Outils/Options/1. Numriser/Ouvrir, cochez cette fois Lire automatiquement les images des pages acquises (trs importants pour laisser les pages dans lordre !), Cochez seulement Convertir en noir...niveaux de gris Puis OK. Ouvrir ensuite le 1er groupe de 100 pages (Ctrl+O) Fichier/Ouvrir un PDF, une image : le djvu est lu intgralement par Finereader. Une fois termin, Fichier/Enregistrer le document Finereader..., donnez un nom similaire relatif la numrotation du groupe de 100 pages (par exemple : 201-300) Fermer le document, puis ocrisez de mmes avec les autres DjVu (remarque : le dernier groupes na pas ncessairement 100 pages ! ce sont les pages restantes !)

6.4) Imbriquer le texte ocris de Finereader avec DjvuOCR


On va maintenant insrer le texte reconnu par Finereader dans le document Djvu. Pour cela, lancez DjvuOCR.exe Choisissez Batch mode OCR manager, ajoutez le fichier DjVu (Add), cochez Ignore error checking, Burn DJVU books. Dans FineReader Project Directory, choisissez le dossier Finreader enregistr correspondant au groupe de pages du fichier DjVu, puis Test project pour vrifier quaucune erreur ne sest produite. Si aucune erreur nest affich lors du test, cliquez sur Process. Une petite fentre apparat, puis quand elle se ferme, le DjVu est normalement ocris. Vrifiez cela en ouvrant le fichier DjVu avec le lecteur de Caminova :

Les jumelles doivent tre sombre (non grise), cliquez dessus et rechercher des termes : si tout a fonctionn les termes sont surligns correctement lors de la recherche de termes.

Si une erreur se produit lors du test, il faut insrer le texte ocris par ligne de commande grce lexcutable FRFGrab.exe, fourni avec le programme djvuOCR.exe. On utilisera plus tard une seconde commande, djvused.exe. Pour que ces commandes soient toujours reconnues dans Windows, copiez djvused.exe et FRFGrab.exe dans C:\Windows\system32 Ouvrir la fentre de commande en tapant cmd dans la zone de recherche juste au-dessus du bouton dmarrer de Windows, lors du clic sur dmarrer en bas gauche, ou bien allez dans Accessoires/invite de commande. Tapez FRFGrab.exe juste aprs linvite de commande, faites Entrer. Toute laide saffiche, mais pas de panique vous devez juste connatre que quelques commandes minimes pour insrer (ou mme enlever !) la couche OCR dans le Djvu. Ce programme sert surtout rcuprer le texte des fichiers .frf gnrs par Finereader et donner en sortie un fichier .txt contenant tout le texte rfrenc pour chaque page du Djvu, et comprhensible par la commande djvused.exe

Pour se dplacer dans un dossier avec les lignes de commandes, tapez cd.. pour monter dun niveau au dossier parent, dir pour afficher le contenu du dossier courant, et cd [nom du dossier] pour aller dans un dossier contenu dans le dossier courant. Supposons que notre document Finereader soit enregistr sous le nom 201300, et produit une erreur avec DjvuOCR.exe, et se situe dans [votre nom dutilisateur]/mes documents/livre. Alors tapez cd documents puis cd livre. Si livre est le seul dossier commenant par li, tapez cd li* (* est un joker signifiant tous les caractres). Si vous ne savez plus o vous tes, tapez dir, les dossier sont indiqus par <REP>.

Une fois dans C:\Users\[nom utilisateur]\Documents\livre, allez dans le document finereader par cd 201-300. Tous les fichiers .frf sont normalement ici, vrifiez-le par un dir. Tapez enfin la ligne de commande suivante, rcuprant le texte des fichiers .frf vers un fichier .txt structur : FRFGrab i g *.frf > 201-300.txt (videmment remplacez 201-300 par un nom en relation avec le fichier finereader enregistr) *.frf prend tous les fichiers frf du dossier, loption i ignore les erreurs, -g gnre les positions des pages dans lordre, ( partir de 1, mais ceci na aucun rapport avec le numro rel de la page, lessentiel et que la position de la page dans le fichier .txt gnr corresponde la position dans le DjVu (qui est dans notre exemple 201-300.djvu) Une fois ce fichier .txt gnr, on peut insrer le texte dans le Djvu manuellement avec la commande djvused.exe (mais cest plus chiant si le .txt et le .djvu sont 2 endroits diffrents : il doivent tre dans le mme dossier) ou bien avec DjvuOCR.exe : Cliquez sur Burn OCR file in DjVu Book, puis slectionnez le fichier .txt produit dans le dossier finereader, et le fichier DjVu correspondant. Enfin cliquez Process pour insrer le texte. Trs rarement le programme dit que le fichier txt est invalide, dans ce cas ouvrez le fichier .txt, et ajoutez ou enlevez la ponctuation gnante (gnralement cause dune ) au dbut du fichier (a doit normalement commencer ainsi : # ------------------------------------select 1 remove-txt set-txt Vrifiez succinctement que le texte a bien t insr et correspond bien au Djvu. Pour linsrer manuellement, se reporter en 8) grce la commande Djvused.exe.

Faites de mme pour les autres fichiers Djvu, en esprant quaucune erreur se produise, sinon vous devez insrer avec FRFGrab.exe ce qui est un peu plus long. Remarque : il existe un moyen dans DjvuOCR, pour insrer le texte qu partir dune certaine position (Manual mode OCR manager) et surtout pour enlever le texte dun fichier Djvu (Remove OCR layer). Ces outils ne prsentent aucune difficult.

6.5) Cration dun fichier Djvu entirement ocris


A cette tape, tous les groupes dune centaine de pages sont ocriss, on PEUT MAINTENANT ouvrir le 1er groupe AVEC DOCUMENT EXPRESS 6.5 PRO, et ajouter les groupes suivants : bouton droit sur la vignette du 1er Djvu ouvert (thumbnail), Insert Page(s) After (mthode identique quen 6.2, sauf quil sagit cette fois de fichiers DjVu), et slectionnez dun coup les autres groupes (ils doivent tre dans lordre). Une fois TOUTES les pages ajoutes, enregistrez par Save As, (et non Save car a remplacerait le 1er groupe de 100 pages !) et donnez un nom pour votre ebook DjVu. Le profil na ici aucune importance, car les fichiers sont dj en Djvu, ne pas cochez OCR non plus. A cette tape, on a notre fichier Djvu entirement ocris : il contient toutes les pages du livre avec possibilit de rechercher du texte, mais aucun lien dynamique interne, ni bookmark pour une navigation aise dans le document.

7) Cration semi-automatique de Liens dynamiques dans un Djvu


Comme pour le scannage, on va utiliser autohotkey pour crer des liens dynamiques au sein du Djvu : les annotations et les bookmarks. Ces liens fonctionnent parfaitement avec le DjvuViewer, issu du plugin de Caminova. Ouvrez le fichier entirement ocris avec Document Express 6.5 Pro

7.1) Annotations dynamiques menant vers une page (cliquables)


Pour commencer, crons manuellement un lien dynamique, par exemple pour les lignes de la table des matires. Aller sur la premire page de la table des matires (aidez-vous le

loutline sur la gauche, la table des matires fait partie des pages nommes COUV_...) Cliquez sur le rectangle de liens (Rectangular Hyperlink) droite du bouton T , ensuite tracez un rectangle (bouton gauche enfonc) encadrant une ligne de la table des matires, au moment o vous lcher le bouton gauche de la souris, une fentre souvre : (cf ci-contre), dans style choisissez dont display pour ne pas afficher le rectangle, dans description : le texte-bulle qui saffichera lorsque vous passerez la souris sur la ligne de la table des matires (par exemple : Aller cette page) highlight pour mettre surbrillance colore, link to : page name afin de rfrer la page dsire, page name : choisissez ici le bon numro de page. Pour atteindre plus vite la page 353 par exemple, appuyez sur la touche 3 puis la touche PageDown (flche avec les 3 traits vers le bas). Vous comprenez maintenant tout lintrt davoir mis les numro dabord dans les noms de pages ! On accde beaucoup plus rapidement aux pages dsires, de mme pour la table des matires, appuyez sur C pour aller directement aux pages COUV, puis choisir la bonne page. Cliquez OK pour valider. Observez ce que font les autres effets de style en cliquant OK, puis en slectionnant la main, et en passant la souris sur la ligne correspondante. Pour afficher les liens prsents sur une page, cliquez juste sur le rectangle avec la flche rouge (Select annotations). Pour les supprimer, bouton droit sur lannotation, Annotation/Delete. Voil, vous pouvez par exemple crer les liens de page pour chaque ligne de la table des matires vers les pages cible, puis les liens retour de la page cible vers la page adquate de la table des matires. De mme pour des livres dexercices dont les solutions sont groupes la fin : liens aller-retour nonc-solution, avec en commentaire (description) : Voir la solution de lexercice et Revenir lnonc de lexercice. Le commentaire doit tre parlant. Vous vous apercevrez vite que cest (trs) long de crer ces liens, rien que pour la table des matires !

7.2 Script des annotations dynamiques (aucun clic sur les icnes)
Nous allons donc crer un script autohotkey pour viter de devoir cliquer sur les mmes boutons chaque fois, mais simplement positionn la souris autour des mots encadrer. Lavantage, cest que le script positionne dj peu prs au bon endroit le rectangle dynamique.

Par exemple jai cr un script annotation.ahk qui effectuent les actions suivantes (en bleu)
-

Je positionne la souris dans le coin gauche suprieur de la ligne encadrer Jappuie sur F1 : la souris clique sur Rectangular Hyperlink, revient lendroit o la souris se trouvait, trace le dbut du rectangle (avec des paramtre quon dfinira dans le script) attend que je positionne le rectangle ds que le rectangle encadre bien la ligne (jai donc boug jusquau coin infrieur droit, jappuie sur F3 : le bouton gauche est lch, la fentre de style souvre alors, la souris choisit dont display dans style, colle le commentaire Aller cette page (doit tre copie dans le pressepapier), choisit Page name dans link to, puis clique dans Page name et ventuellement appuie sur un chiffre de dbut de page (par exemple 4 pour les pages 400 et +). Ds que la bonne page est choisie, jappuie sur F4 pour simuler la touche Entrer

Fin des actions, le lien est cr. Jai donc simplement press 3 touches quasi conscutives F1, F3, F4 (gain de temps) et positionn la souris (qui est dj peu prs bien place correctement, vous verrez pourquoi dans le script, donc gain de temps encore !) sans jamais cliquer sur un seul bouton ! On peut dfinir quelques autres raccourcis pratiques pour viter de devoir cliquer sur les icnes : w pour cliquer sur Select Annotation et revenir lendroit initial, q pour cliquer sur Rectangular Hyperlink et revenir lendroit initial. Les choix de ces touches sont arbitraires, vous pourrez les modifier souhait, mais ils me paraissent trs pratiques. (vitez les touches telles que T qui sont dj dfinies dans Document Express, vrifiez quelles nont pas deffet en les pressant dans le programme, T tourne les pages du Djvu de 90 par exemple, mais w et q nont aucun effet, donc peuvent tre utilises.) Pour crer le script vous-mme, faites laction dcrite en 7.1 en phase Record avec Autoscriptwriter et notez les lments importants : coordonnes de la souris sur les diffrentes icnes, etc A laide de ces donnes copiez les commandes ci-dessus dans votre script annotation.ahk que vous aurez cr pralablement, explicitant les raccourcis F1, F3, F4 dcrits ci-dessus (en fait il existe un raccourci F2, mais automatiquement lanc par le script. En commentaires aprs les ; : description des actions)

[REMARQUE : remplacez nomdevotrefichier.djvu par le nom de votre fichier djvu, pour cela : dans le bloc-note, Ctrl +H (dition/Remplacer), rentrer les noms et cliquez Remplacer tout. Les textes en bleu doivent galement tre remplaces]

; dbut du script annotation.ahk #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.

F1:: WinWait, Document Express Editor ( UNREGISTERED - For Evaluation Only ) - [nomdevotrefichier.djvu], IfWinNotActive, Document Express Editor ( UNREGISTERED - For Evaluation Only ) [nomdevotrefichier.djvu], , WinActivate, Document Express Editor ( UNREGISTERED - For Evaluation Only ) - [nomdevotrefichier.djvu], WinWaitActive, Document Express Editor ( UNREGISTERED - For Evaluation Only ) [nomdevotrefichier.djvu], MouseGetPos, OutputVarX, OutputVarY, ; memorisation de la position de la souris MouseClick, left, Sleep, 100 MouseClick, left, 453, 95 ; coordonne du clic sur le bouton Rectangular Hyperlink MouseMove, OutputVarX, OutputVarY, ; mouvement de la souris vers la position mmorise Send, {F2} Return ; fin du raccourci F1 ;;;;;;;;;;; dmarre le rectangle la position de la souris F2:: WinWait, Document Express Editor ( UNREGISTERED - For Evaluation Only ) - [nomdevotrefichier.djvu], IfWinNotActive, Document Express Editor ( UNREGISTERED - For Evaluation Only ) [nomdevotrefichier.djvu], , WinActivate, Document Express Editor ( UNREGISTERED - For Evaluation Only ) - [nomdevotrefichier.djvu], WinWaitActive, Document Express Editor ( UNREGISTERED - For Evaluation Only ) [nomdevotrefichier.djvu],

;;;;;;;;;;;;;;;;;;;;;; 1.mmorise la position de dpart coins suprieur gauche MouseGetPos, OutputVarX, OutputVarY, ;;;;;;;; 2. coin SUPERIEUR gauche du rectange; SendEvent {Click, left down,} ;;;;;;;;;;;;;;;;;;;;;;;3. trac du rectangle jusqu'au coins INFERIEUR droit; MouseMove, OutputVarX + 173, OutputVarY + 20, ; trace le rectangle de 173 pixels vers la gauche, de 20 pixels vers le bas, donnes modifier ! return ;;;;;; ce stade, attend un relch du clic gauche l'endroit du coin DROIT INFERIEUR;;; ;;;;; clic du coin INFERIEUR DROIT ci-aprs;;;;;;;; F3:: ;;;;;;;;;;;;;;;;;;;;;;;4. copie de la phrase 'aller cette page ou autre'; MouseGetPos, OutputVarX, OutputVarY, SendEvent {Click, left up} ; relch du clic gauche, la fentre de style apparat Sleep, 100 ;;;;;;;;;;;;;;;;;;;;;;;5. OUVERTURE DE LA FENETRE DE LIENS; WinWait, Rectangular Highlight / Hyperlink Properties, ;IfWinNotActive, Rectangular Highlight / Hyperlink Properties, , WinActivate, Rectangular Highlight / Hyperlink Properties, WinWaitActive, Rectangular Highlight / Hyperlink Properties, ;;;;;;;;;;;;;;;;;;;;;;;6 CHOIX AFFICHAGE Send, {Up} ;{DOWN};{DOWN} ; ici dont display va tre slectionn, car la flche du haut et enfonce ; pour prendre un autre style enlevez les ; et/ou ; ajoutez des ;{DOWN} sans les ; ils ne sont pas actifs ici car un ; est devant SendEvent {Click, left down, 158, 274} ; clic dans la case description, ces coordonnes sons peut-tre diffrentes pour vous ;;;;;;;;;;;;;;;;;;;;;;;7 SOURIS DANS LA CASE DE COMMENTAIRES; MouseMove, 34, 274 ;;;;;;;;;;;;;;;;;;;;;;;8 SELECTION DU COMMENTAIRE PAR DEFAUT; SendEvent {Click, left up} ;;;;;;;;;;;;;;;;;;;;;;9 COPIE DU COMMENTAIRE EN PRESSE PAPIER; ;;;;;;;;;;;; ici : notez ici le commentaire et copiez-le avant dappliquer ce script

Send, {CTRLDOWN}v{CTRLUP} Sleep, 100 ;;;;;;;;;;;;;;;;;;;;;;10 CHOIX DE SELECTION PAR NUMERO DE PAGE; MouseClick, left, 141, 381 Sleep, 100 MouseClick, left, 157, 418 Sleep, 100 ;;;;;;;;;;;;;;;;;;;;;;11 CHOIX DE LA PAGE; MouseClick, left, 403, 376 ;;;;;;;;;;;;;;;;;;;;;;12 DEBUT DU NUMERO DE PAGE; Sleep, 100 Send, s ;Send, c ;Send, p Send, 1{PgDn} ; pour baisser de plusieurs dizaines de pages ajoutez des pagedown comme ci-dessus ; lexemple ci-dessus va la page 100, puis baisse dun cran ;;;;;;;;;;;;;;;;;;;;;;13 ATTENTE D'APPUYER SUR ENTREE; ;;; attend la touche Entre (ici raccourcie par f4) KeyWait, F4 Sleep, 100 ;;; revient l'endroit du lien et clic avec la main pour revenir MouseMove, OutputVarX - 100, OutputVarY+3, Sleep, 100 Send, w return w:: ;;;; w est le raccourci icne de la selection des annotations, pour voir les annotations dj sur la page MouseGetPos, OutputVarX, OutputVarY, WinWait, Document Express Editor ( UNREGISTERED - For Evaluation Only ) - [nomdevotrefichier.djvu], IfWinNotActive, Document Express Editor ( UNREGISTERED - For Evaluation Only ) [nomdevotrefichier.djvu], , WinActivate, Document Express Editor ( UNREGISTERED - For Evaluation Only ) - [nomdevotrefichier.djvu],

WinWaitActive, Document Express Editor ( UNREGISTERED - For Evaluation Only ) [nomdevotrefichier.djvu], MouseClick, left, 382, 99 MouseMove, OutputVarX, OutputVarY, Sleep, 100 return ;; commentaires copier rgulirement , laisser dans ce script ;; Revenir la table des matires ;; Voir la solution ;; Voir la solution de l'exercice ;; Aller cette page ;; Revenir l'nonc F4::Send {Enter} ;;;;;;;;; icone 'main par la touche q';;;;;;;;;;; q:: WinWait, Document Express Editor ( UNREGISTERED - For Evaluation Only ) - [nomdevotrefichier.djvu], IfWinNotActive, Document Express Editor ( UNREGISTERED - For Evaluation Only ) [nomdevotrefichier.djvu], , WinActivate, Document Express Editor ( UNREGISTERED - For Evaluation Only ) - [nomdevotrefichier.djvu], WinWaitActive, Document Express Editor ( UNREGISTERED - For Evaluation Only ) [nomdevotrefichier.djvu], MouseGetPos, OutputVarX, OutputVarY, MouseClick, left, 293,99 MouseMove, OutputVarX, OutputVarY -3, return ;;; fin du script copier dans annotation.ahk

Vous pouvez crer autant de script que vous le souhaitez afin de modifier sensiblement les coordonnes suivant que vous encadrer une ligne de table des matires, ou simplement un titre de chapitre. Par exemple, tdm.ahk pour les lignes de la table des matires : les valeurs a et b dans OutputVarX + a, OutputVarY+b (a et b sont dans ce cas des carts relatifs, pas des coordonnes absolues) pourront tre calcules grce des clics spars dans le vide sur la page, dans la fentre de Document Express lors dun Record de Autoscripwriter, afin de connatre les carts relatifs (diffrence entre abscisses dune part, et ordonnes dautres part). Ces carts devraient tre pour la tdm la longueur et la hauteur dune ligne hauteur environ.

Titres.ahk pour les liens retour vers la table des matires (largeur dun titre pour a, hauteur dun mot de titre pour b), etc Les coordonnes affiches en bleu sont probablement diffrentes pour vous, moins que vous nayez aussi par chance un cran 17 et Document Express affich sur toute la hauteur de lcran !

7.3 Bookmarks pour la navigation dans le document DjVu


A gauche dans loutline (View/Navigation Pane) est affich larborescence. A ce stade, vous navez pas encore renomm ces bookmarks. Lors de la fusion des Djvu, il se peut quil en manque une partie. Pour commencer, supprimez-les tous par clic droit sur le bookmark-parent (le tout premier), Delete, et enregistrez File/Save. Dsormais loutline est complet et contient toutes les pages numrotes. Vous pouvez mettre un titre sur les bookmarks correspondant aux titres des diffrents chapitres (double-clic sur le bookmark, ou clic droit/Edit) Voici un exemple de bookmarks : Pour imbriquer des bookmarks-fils dans un bookmark parent (le signe + indique que le bookmark possde des sous-bookmark , glissez le fils avec la souris vers le second.

En cliquant sur le + , le bookmark est dvelopp. On peut videmment crer des sous-sous-bookmarks , pour une structrure plus dtaille. Exemple dimbrication de bookmarks :

Remarque : le bookmarkparent doit viter de renvoyer vers une page, car en cliquant sur le -, (cest--dire en refermant le bookmark), cette page saffichera, ce qui peut tre gnant pour la lecture.

Il vaut mieux crer les bookmarks-parents sans liens (clic droit sur un bookmark/Add), le dplacer au-dessus des fils, et glisser les bookmarksfils avec liens dans les bookmark-parents. Ceci doit tre valable pour tous les niveaux. Dans lexemple, le bookmark Table des matires L1 Pearson nest pas actif (sans lien), ni dailleurs Cursus LMD (L1), ni les 3 autres visibles au-dessus, alors que les Tdm, 1000 tests., Auteurs, Pearson., et Auteursle sont. Cette rgle permet de refermer les bookmarks en restant sur la page courante. Sinon, la page du bookmark parent va s'afficher. Pour crer les bookmarks sur tout le livre, il faut bien sr saider de la table des matires (numros de pages indiqus) et des annotations dynamiques cres auparavant pour revenir la table des matires, et savoir dun coup dil sur quel page des bookmarks il faut cliquer. Do limportance de crer dabord les liens dynamiques AVANT les bookmarks ! Cette partie nest pas tellement automatisable avec les scripts Autohotkey, car les coordonnes des bookmarks se modifient constamment Toutefois, il est possible dditer les bookmarks dans un diteur html comme jEdit pour les imbriquer plus facilement. A laide de Bookmarktool2.exe :

Glissez le fichier Djvu dans DjVu File, cliquez sur Export, puis OK. Ouvrez ensuite le fichier html gnr avec jEdit (clic droit, open with jEdit), la structure des bookmarks saffiche. Ces derniers sont situs entre les balises <ul> et </ul>. Il suffit donc dcrire ces balises, un script rapide ul.ahk permet dviter de taper ces caractres chaque fois (suspendre ou fermez les scripts prcdents dabord !) : F1 pour taper <ul>, F2 pour taper </ul>, et F3 pour passer la ligne.
F1::Send <ul> F2::Send </ul> F3::Send {Enter}

Lors de lajout des balises <ul> (ouvrante) et </ul> (fermante), nen oubliez pas, surtout les fermantes quand il sagit de plusieurs niveaux imbriqus ! La structure se prsent comme sur lexemple ci-dessous. Vous remarquerez que les bookmark sans lien nont pas href=

Les modifications termines, enregistrez le fichier html (fichier/enregistrer) et rinsrez-le dans le Djvu : dans Bookmarktool2, cochez Replace, puis Save. (Pour enlever les bookmarks du djvu : cochez Remove, puis Save.) Fermez lapplication, et ouvrez le DjVu ayant les bookmarks frachement dits avec DjvuViewer pour observer le rsultat. Jai constat quau-del de 100 bookmarks inclus dans un bookmark-parent direct, DjvuViewer ne parvient pas ouvrir le fichier DjVu et gnre une erreur. Evitez dinclure plus dune cinquantaine de bookmark-fils directs. Par contre linclusion de plus de 100 bookmarks tals sur plusieurs niveaux ne pose aucun problme. Une fois les bookmarks termins, le fichier DjVu est entirement termin ! Il possde maintenant lOCR, les liens dynamiques, et le panneau de navigation ! Le fichier est prt tre lu avec DjvuViewer

8) Quelques prcisions sur la commande djvused.exe


Aprs avoir copier/coller djvused.exe dans C:\Windows\System32, tapez djvused dans linvite de commande, lisez lexemple donn la fin :

Lexemple donn, pour extraire LE TEXTE dOCR + les annotations dans un seul fichier est : djvused file.djvu e output-all > file.dsed Vous pouvez galement nextraire que les annotations : djvused file.djvu e output-ant > file.txt Et ensuite diter certains details du fichier dannotations (mais a contient toutes les coordonnes des rectangles du fichier, donc assez indigeste) et rinsrer le fichier .txt par : djvused file.djvu f file.txt -s Pour extraire simplement le texte ocris hidden text : djvused file.djvu e output-txt > file.txt puis le rinsrer aprs lavoir dit par : djvused file.djvu f file.txt s (attention les 2 fichiers file.txt nont aucun rapport, lun est pour le texte ocris, lautre pour les annotations, changez le nom pour les distinguer). Les fichiers file.djvu et file.txt doivent se trouvent dans le mme dossier pour tre traits en ligne de commandes, si ladresse complte des fichiers nest pas spcifie. En tapant simplement la commande djvused, on peut lire la description des diffrentes commandes, comme le montre lexemple ci-dessous : on constate que lon peut effectuer la plupart des opration de DjvuOCR (normal, car ce programme utilise djvused.exe la base !) : par exemple enlever le hidden text (texte ocris), les annotations, etc (voir cran ci-dessous). Remarque : pour voir le nom dune (des) pages composant un fichier DjVU, allez sur la page, clic droit/Page Information ou Document Information : vous retrouver alors les numros des pages .djvu composant le fichier global DjVu (dit bundle ).

Options de la commande djvused

9) Utilisation de Thumbsplus
Thumbsplus est une programme de traitement dimages par lot. a peut tre trs utile pour effectuer des oprations successives sur un ensemble dimages. Photoshop CS fait dj des choses similaires, mais ce petit programme a parfois quelques fonctionnalits trs intressante et plus rapides mettre en uvre pour le batch. Voyons quelques exemples.

a) Aperu sous forme de vignettes, classement des vignettes


Ouvrez Thumbsplus, cliquez sur licne Location dans la fentre principale, et aller dans le dossier des pages scannes. Vous pouvez classer (sort) les vignettes de multiples manires : par nom, similarit, date, resolution, largeur, hauteur, taille, type, etc et mme au hasard ! La similarit peut tre dun grand secours lors dun oubli de numrotation, pour reprer rapidement les vignettes des pages par exemple pour un livre en couleur. La taille des vignettes peut galement tre choisie : large, small, custom, list, report

b) Batch Process sur un dossier ou des images slectionnes


Le batch process est un traitement par lot. Voyons brivement les oprations susceptibles dtre utilises pour des pages scannes : Ouvrez une image par double-clic.

Une fentre souvre avec un menu : File, Edit, Image, Transform, View, Help. Dans Transform, nous avons une multitude doprations, et surtout le Crop/Add borders. Cliquez dessus : la fentre ci-contre apparat. Cette fonction de Crop permet denlever (rognage) ou dajouter ou mme de conserver une partie quantifie en pixels (ou autre unit) de limage. - Pour rogner par exemple 223 pixels sur la gauche (=enlever 223 pixels gauche) choisissez by, amount : 223, units : pixels, orientation : from left. puyez sur F12

- Pour ne conserver que 223 pixels de la partie gauche de limage, choisissez to, les autres paramtre tant identiques. - Cochez Add Border pour ajouter une bordure de couleur personnalisable. Vous pouvez galement rogner, etc partir de la droite, ou bien du centre de limage (dans notre exemple de 223 pixels, partir du centre : la moiti sera retire gauche env. 111 px, lautre moiti droite env.112 px) La fonction Autocrop de Transform, enlve les pixels blancs tout autour de limage : utile pour se dbarrasser de marges blanches. Enfin, dans Image/Process, la plupart des outils classiques de retouche dimage sont prsents. Pour lancer un traitement par lot (batch process), allez dans lenvironnement principal de Thumbplus, dans Image/Batch Process (F12), Donnez un nom au processus, cliquez sur Suivant, et ajoutez la squence des oprations sur les images slectionnes ou du dossier slectionn. Dans lexemple ci-contre, les images subiront une amlioration densemble (General Enhance), un crop de 223 pixels gauche (Crop by 223 from left), et une balance des couleurs automatique (Auto Color Balance). Cliquez sur Suivant, choisissez le format de sortie, ventuellement un suffixe et/ou prfixe, les autres paramtres, puis lancez le batch (Terminer).

FIN DU TUTORIEL DE CREATION DUN EBOOK DJVU

Voil ! Ceci termine notre tutoriel. Vous avez dsormais toutes les cls en main pour crer facilement un fichier DjVu interactif ! Il ne reste plus qu louvrir avec DjVuViewer. Profitez de linteractivit ! Amusez-vous bien !

Vous aimerez peut-être aussi