RSS Libre@vous

Dernière mise à jour
le 14/01/2016 à 15h43
Les contenus de ce site sont publiés sous la licence CC by-sa, sauf mention contraire.
licence_CC-by-sa
Copyright © 2019 Libre @ vous. Tous droits réservés.
Joomla! est un logiciel libre sous licence GNU/GPL.
21
Déc
2010
Exporter un diaporama de présentation en plusieurs images Imprimer
De temps en temps, cela peut être utile d'exporter un diaporama de présentation (odp ou ppt) en format image png ou jpg. Mais pour obtenir une image par transparent de la présentation, vous devrez faire une saisie d'écran par page. Cela va vite devenir très fastidieux si votre diaporama contient plus d'une vingtaine de transparents ! N'y aurait-il pas un moyen pour automatiser cette tâche ? Voyons comment faire.

Transformation en pdf


La première étape du travail sera de transformer votre diaporama odp ou ppt en format pdf. Pour cela, sous OpenOffice Impress il vous suffira d'utiliser l'outil d'export en PDF intégré. Sous la suite bureautique propriétaire, il faudra utiliser une imprimante virtuelle PDF, comme par exemple FreePDFXP. C'est le fichier PDF qui sera ensuite transformé en format image.

La ligne de commande avec imagemagick


La première solution est d'utiliser le fameux outil de manipulation d'images en ligne de commande imagemagick. Hé oui car outre les formats images classiques, imagemagick est capable d'ouvrir des fichiers pdf ! Pour réaliser l'opération d'exportation avec un fichier image par transparent, voici comment faire :
convert ma_presentation.pdf page_%03d.png

Et vous obtiendrez des fichiers nommés comme suit : page_000.png page_001.png page_002.png ...

Tout irait pour le mieux et nous pourrions nous arrêter là, mais il y a deux problèmes qui se posent :
  • le rendu réalisé par la commande convert n'est pas toujours très beau, notamment les zones transparentes dans la présentation qui ressortent assez mal ;
  • la commande plante avec certains fichiers PDF et cela ne marche pas (en fait c'est la librairie ghostscript utilisée pour lire les PDF qui peut poser des problèmes).
Mais si on veut faire mieux, il y a une autre solution.

La revanche de Gimp !


L'opération d'exportation peut être réalisée grâce au logiciel libre de retouche d'images Gimp. Gimp est lui aussi capable d'importer un fichier PDF. Il fait même mieux que imagemagick puisque même les fichiers qui plante avec convert sont ouverts correctement dans Gimp. Une fois le PDF ouvert avec Gimp, vous remarquerez que celui-ci utilise son système de calques pour gérer les différentes pages du fichier PDF : chaque page correspond à un calque.

Bon voici une chose de faite. Mais maintenant vous n'allez quand même pas sauver à la main chaque calque dans un fichier image ? Non non, nous sommes là pour automatiser que diable !

Il existe une extension de Gimp qui est capable de sauver automatiquement chaque calque dans une image différente : sg-save-all-layers.

Mise à jour du 21/04/2012 :
J'ai corrigé le lien ci-dessus qui était cassé. Pour éviter que le problème se reproduise, j'ai également mis à disposition le fichier en téléchargement sur ce site :

Copier le contenu du fichier précédent dans votre éditeur de texte et sauver le dans un fichier sg-save-all-layers.scm que vous copierez dans le répertoire scripts à l'intérieur de votre répertoire d'installation de Gimp (sous GNU/Linux dans votre répertoire personnel puis dans le répertoire caché .gimp-2.4 ou .gimp-2.6). Si Gimp était déjà lancé, relancez le puis réouvrez votre PDF. Dans la fenêtre du PDF ouvert, vous trouverez maintenant un nouveau menu Fichier>Save all layers.

Mais avant de l'utiliser, il vous faut inverser l'ordre des calques sinon les pages du PDF sont exportées dans l'ordre inverse. Pour cela, utilisez le menu Calques>Pile>Inverser l'ordre des calques. Cliquez ensuite sur Fichier>Save all layers. Choisissez un motif pour le nom des images, par exemple mon_dossier/page_~~~.png pour obtenir les mêmes noms qu'avec imagemagick. Il faut d'abord créer le répertoire mon_dossier dans votre répertoire personnel. Si vous ne précisez pas de répertoire dans le motif, les images seront exportées directement dans votre répertoire personnel.

Le tour est joué et le rendu généralement meilleur qu'avec imagemagick.

Mise à jour du 21/11/2012 : Le script semble ne pas fonctionner avec la version 2.8 de Gimp (même si le sous menu Save all layers apparaît bien dans le menu script-fu), il faudra donc utiliser la version 2.6 pour pouvoir le faire fonctionner (voir les commentaires de l'article).

Mise à jour du 21/11/2013 : Le script fonctionne à nouveau avec la version 2.8 de Gimp, le sous menu Save all layers apparaissant de nouveau dans le menu Fichier. Attention le fichier sg-save-all-layers.scm doit être placé dans le sous répertoire .gimp-2.8/scripts.

 

Commentaires  

 
#1 Alphonse 20-04-2012 21:03
Bonjour
Je tiens à vous remercier pour cette page qui m'a permis de convertir des diapos en images de façon impeccable. J'ai perdu du temps à retrouver le script, mais ensuite, super.
Bonne continuation.
Cordialement
Citer
 
 
#2 Nicolas Moyroud 21-04-2012 00:03
Bonjour,

Merci pour votre commentaire. Ça fait toujours plaisir de voir qu'une astuce publiée est utile à quelqu'un ! Effectivement, le lien vers le script sg-save-all-layers est cassé. Est-ce que vous pourriez m'indiquer à quelle adresse vous l'avez trouvé pour que je puisse mettre à jour dans l'article ? Ça évitera à d'autres de perdre du temps à le chercher.
Citer
 
 
#3 Nicolas Moyroud 21-04-2012 00:29
Je viens de trouver un lien, je l'ai mis à jour dans l'article. J'espère que c'est le bon fichier (ça en a l'air, mais je n'ai pas pris le temps de tester avec Gimp). J'ai également mis le fichier en téléchargement sur ce site pour éviter tout problème de lien cassé dans le futur.
Citer
 
 
#4 Pascale 17-11-2012 17:25
Bonjour
Je n'arrive pas à télécharger le script.
Il y aurait-il à nouveau un problème ?
Merci pour votre aide
Citer
 
 
#5 Nicolas Moyroud 19-11-2012 10:06
Bonjour,
Effectivement il y avait un petit problème avec le lien sensé être interne à ce site et qui pointait en fait... vers le site d'origine. Or sur le site d'origine ça ne marche plus. J'ai corrigé, vous devriez pouvoir télécharger.
Finalement j'ai bien fait de faire une copie sur ce site :-)
Citer
 
 
#6 Pascale 19-11-2012 16:45
C'est encore moi.
Désolée de vous importuner avec mes soucis mais le fichier que je télécharge n'est pas exécutable. Est-ce moi qui m'y prends mal ?
Voilà ce que je récupère : sg-save-all-layers.scm.
Avez-vous une idée de ce que je peux faire ou il y aurait-il une possibilité pour me procurer ce fichier autrement ?
Merci d'avance pour votre réponse
Citer
 
 
#7 Nicolas Moyroud 19-11-2012 17:20
Pas de problème. Ça me permet de me replonger dans un vieil article que j'avais un peu oublié. :-)
La procédure est indiquée dans l'article : il faut copier le fichier scm dans le répertoire d'installation de Gimp (sous Windows ça doit être quelque part dans "Program Files") et un nouveau menu Fichier>Save all layers devrait apparaître. Il faut tester avec la dernière version Gimp-2.8 ce n'est pas sûr que ça marche encore (à l'époque j'avais testé avec Gimp-2.6). Si vous pouviez me faire un petit retour concernant le fonctionnement sous Gimp-2.8, je complèterai dans l'article.
Citer
 
 
#8 Pascale 19-11-2012 23:42
Bonsoir
Mille fois merci !
Grâce à vos explications avec des mots moins techniques, avec ce qui était déjà marqué sur le site et aussi un tuto que j'ai trouvé ici http://aucoeurdemabulle.blogspot.fr/2011/02/transformer-un-templates-psd-en.html
- j'ai réussit !!!
C'est génial... merci beaucoup !
Par contre j'ai aussi GIMP 2.6 et de peur d'avoir des problèmes avec 2.8, je n'ai pas fait la mise à jour. Je ne peux donc pas vous dire si ça fonctionne sous 2.8.
Citer
 
 
#9 Nicolas Moyroud 21-11-2012 10:40
Avec plaisir. Content de voir que vous avez pu faire marcher le script. Merci pour le lien complémentaire, cela pourra être utile à certains personnes qui ont des difficultés comme vous. J'ai vu sur cet article que le sous-menu "Save all layers" se trouvait maintenant dans "script-fu" au lieu du menu "Fichier". Ça a été comme ça dans votre cas ? Si ça a changé, je vais modifier dans le texte de l'article.
J'essaye dans mes articles de rester le plus simple possible, mais ce n'est pas toujours évident de se rendre compte de certaines difficultés quand il s'agit de logiciels qu'on connait depuis longtemps ;-)
Citer
 
 
#10 Pascale 21-11-2012 16:14
Bonjour
Comme je vous le disais j'ai aussi GIMP 2.6 et je n'ai pas fait la mise à jour de peur que ce soit différent sur la nouvelle version. Suite à votre demande, aujourd'hui j'ai fait l'essai sur un poste au j'ai le 2.8 et effectivement "save all layers" est dans "script-fu" (mais la après je n'ai pas réussi à le faire fonctionner). Sans doute je n'ai pas su m'y prendre, impossible d'enregistrer la destination et le nom de fichier.
Ouf ! J'ai bien fait de ne pas faire la mise à jour sur 2.6 !
Merci encore
Citer
 
 
#11 Nicolas Moyroud 21-11-2012 16:42
Merci beaucoup pour le retour d'expérience, je vais mettre un avertissement dans le texte de l'article.
Citer
 
 
#12 Eriotagilbo 21-11-2013 08:46
Ça c'est super utile, parce que l'impression d'écran je commence à en avoir marre, après un bon millier de diapos.. Merci !
Citer
 
 
#13 Nicolas Moyroud 21-11-2013 11:07
Merci pour le commentaire, du coup j'en ai profité pour faire une petite mise à jour dans l'article, pile poil un an jour pour jour par rapport à la précédente mise à jour. Le hasard est parfois amusant. A l'année prochaine ! ;-)
Citer
 
 
#14 Pascale 21-11-2013 21:27
Merci
Du coup je vais à nouveau essayer avec 2.8.
Après problème d'ordi je n'avais plus la version 2.6
Merci pour ce que vous faites !
Citer
 

Ajouter un Commentaire

Tout les contenus de ce site sont publiés selon les termes de la licence Creative Commons by sa. En ajoutant votre commentaire, vous acceptez implicitement sa mise à disposition selon les termes de cette licence.


Code de sécurité
Rafraîchir