Dans l’idée de faire un pdf ne contenant quasiment que des images
(vignettes, album photos, imagier…), y a-t-il un truc et astuce pour
insérer des fichiers jpg, png… sans connaître leurs noms ni leur
nombre… Un truc dans le genre “for i in *.jpg”… ? ou simili…
J’ai déjà fait avec un renommage des images en 1, 2, 3.jpg… etc… et
un compteur et ça marche mais là, sans connaître le nom de l’image ni le
nombre, c’est possible ou ça revient à demander à LaTeX (Lua ?) de faire
le café ?
Le 14 août 2022 à 14:00, Gerard_F xyz@xyz.tld a écrit :
Bonjour tout le monde,
La question est de simple curiosité…
Dans l’idée de faire un pdf ne contenant quasiment que des images (vignettes, album photos, imagier…), y a-t-il un truc et astuce pour insérer des fichiers jpg, png… sans connaître leurs noms ni leur nombre… Un truc dans le genre “for i in *.jpg”… ? ou simili…
Le 14 août 2022 à 14:00, Gerard_F xyz@xyz.tld a écrit :
Bonjour tout le monde,
La question est de simple curiosité…
Dans l’idée de faire un pdf ne contenant quasiment que des images
(vignettes, album photos, imagier…), y a-t-il un truc et astuce
pour insérer des fichiers jpg, png… sans connaître leurs noms ni
leur nombre… Un truc dans le genre “for i in *.jpg”… ? ou
simili…
Avec Ghostscript:
gs
-sDEVICE=pdfwrite -dNOSAFER
-o foo.pdf
/opt/local/share/ghostscript/9.56.1/lib/viewjpeg.ps
-c for f in *.jpg; do; echo "($f) viewJPEG showpage"; done;
J’ai fait marcher (avec la modif de viewjpeg.ps, chez moi en
/usr/share/ghostscript/9.53.3/lib/viewjpeg.ps)
Je me suis mal expliqué :
je voulais savoir s’il était possible d’intégrer des images dans un
document LaTeX avec la commande \includegraphics{image} dans laquelle
“image” pointerait vers les images dans l’ordre mais sans en connaître
le nom (ce qui est fait dans un script avec une boucle “for f in *.jpg”
par exemple).
Je fais un tel document (vignettes - album photos… avec textes
intercalés) en renommant les images auparavant de 1 à nb… et en
utilisant un compteur. Et c’est impec !
Mais si je ne renomme pas les images ?
Simple curiosité comme je l’ai précisé, le renommage des images, ce
n’est pas ce qui prend le plus de temps !
Cordialement
Gérard
Le 20/08/2022 à 17:10, Julien Salort a écrit :
Le 14/08/2022 à 14:05, Jacques André a écrit :
Le 14 août 2022 à 14:00, Gerard_F xyz@xyz.tld a écrit :
Bonjour tout le monde,
La question est de simple curiosité…
Dans l’idée de faire un pdf ne contenant quasiment que des images
(vignettes, album photos, imagier…), y a-t-il un truc et astuce
pour insérer des fichiers jpg, png… sans connaître leurs noms ni
leur nombre… Un truc dans le genre “for i in *.jpg”… ? ou
simili…
Avec Ghostscript:
gs
-sDEVICE=pdfwrite -dNOSAFER
-o foo.pdf
/opt/local/share/ghostscript/9.56.1/lib/viewjpeg.ps
-c for f in *.jpg; do; echo "($f) viewJPEG showpage"; done;
Une solution assez simple avec LuaLaTeX, en incluant une image par page, en
imaginant que l’ensemble des images soient regroupées dans un seul dossier
qui ne contienne que les images à inclure. Dans le cas contraire il faut
ajouter des conditions supplémentaires pour ne sélectionner que les
fichiers avec les extensions voulues.
\begin{document}
\begin{luacode}
imgdir = « /mon/dossier/images/ » – chemin vers le dossier qui contient les
images et seulement les images
for filename in lfs.dir(imgdir) do – on affiche chacune des images
contenues dans le dossier
if filename:sub(1,1) \string~= « . » then – on ne prend pas en compte les
fichiers et dossiers cachés dont le nom commence par un point
tex.sprint(« \includegraphics[width=\linewdth]{ »..imgdir..filename..« }\clearpage »)
end
end
\end{luacode}
\end{document}
Le problème ici est que la liste des fichiers obtenus en utilisant lfs.dir
n’est pas triée par ordre alphabétique ou numérique. On peut remédier à
cela avec le code ci-dessous issu de
\begin{document}
\begin{luacode}
imgdir = « /mon/dossier/images/ » – chemin vers le dossier qui contient les
images et seulement les images
files = {} – table vide qui comprendra les noms de fichiers
for filename in lfs.dir(imgdir) do – pour chaque fichier, on enregistre le
nom dans la table
if filename:sub(1,1) \string~= « . » then – on ne prend pas en compte les
fichiers et dossiers cachés dont le nom commence par un point
table.insert(files, {
name = filename
})
end
end
table.sort(files, function(a, b) return a.name < b.name end) – tri des
noms de fichiers par ordre alphabétique
for k,d in pairs(files) do – on affiche finalement chaque fichier dans
l’ordre alphabétique
tex.sprint(« \includegraphics[width=\linewidth]{ »..imgdir..d.name..« }\clearpage »)
end
\end{luacode}
\end{document}
Bon dimanche,
Léonard.
Le sam. 20 août 2022 à 18:55, Gerard_F xyz@xyz.tld a écrit :
Merci Julien,
J’ai fait marcher (avec la modif de viewjpeg.ps, chez moi en
/usr/share/ghostscript/9.53.3/lib/viewjpeg.ps)
Je me suis mal expliqué :
je voulais savoir s’il était possible d’intégrer des images dans un
document LaTeX avec la commande \includegraphics{image} dans laquelle
« image » pointerait vers les images dans l’ordre mais sans en connaître le
nom (ce qui est fait dans un script avec une boucle « for f in *.jpg » par
exemple).
Je fais un tel document (vignettes - album photos… avec textes
intercalés) en renommant les images auparavant de 1 à nb… et en utilisant
un compteur. Et c’est impec !
Mais si je ne renomme pas les images ?
Simple curiosité comme je l’ai précisé, le renommage des images, ce n’est
pas ce qui prend le plus de temps !
Cordialement
Gérard
Le 20/08/2022 à 17:10, Julien Salort a écrit :
Le 14/08/2022 à 14:05, Jacques André a écrit :
Le 14 août 2022 à 14:00, Gerard_F xyz@xyz.tld a écrit :
Bonjour tout le monde,
La question est de simple curiosité…
Dans l’idée de faire un pdf ne contenant quasiment que des images
(vignettes, album photos, imagier…), y a-t-il un truc et astuce pour
insérer des fichiers jpg, png… sans connaître leurs noms ni leur
nombre… Un truc dans le genre « for i in *.jpg »… ? ou simili…
Avec Ghostscript:
gs
-sDEVICE=pdfwrite -dNOSAFER
-o foo.pdf
/opt/local/share/ghostscript/9.56.1/lib/viewjpeg.ps
-c for f in *.jpg; do; echo "($f) viewJPEG showpage"; done;