[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[HS] script bash pour attacher les sources aux pdfs
From: |
Vincent Gay |
Subject: |
[HS] script bash pour attacher les sources aux pdfs |
Date: |
Sun, 20 Dec 2020 18:46:47 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 |
Bonsoir amis lilypondiens,
Grace à une remarque de Valentin lors du premier lily café virtuel
j'attache maintenant mes sources (partition.ly et fichiers inclus)
sous forme de pièces jointes au pdfs générés, Par contre je
n'envisageais pas de reprendre les centaines de partitions
antérieures, sauf éventuellement via un petit script bash. Le temps
grincheux de ce dimanche m'a convaincu de me mettre au boulot et
voici le résultat, si ça peux servir...
Bonnes fêtes et portez vous bien
dépendances : ghostscript et pdftk
#!/bin/bash
oldIFS=$IFS # sauvegarde du séparateur de champ
IFS=$'\n' # nouveau séparateur de champ, le caractère fin de
ligne
myMusicRep=/home/vincent/Nextcloud/Musique/MyRealBook ### ma
musique est là !
include="/home/vincent/Nextcloud/Musique/Lilypond/Inclusions/"
#décommenter la ligne suivante pour sauvegarder les fichier
modifiés
#backup="Oui"
### indexage des fichiers sources
cd $myMusicRep
find -iname "*.ly" | sort > /tmp/mrb.lst ### liste tous les
fichiers sources dans un fichier temporaire
for line in $(</tmp/mrb.lst) ### pour chaque
fichier.ly
do
### liste des fichiers pdf généré
racine=$(echo ${line%.ly})
echo $line
pdftab=($(grep "define output-suffix" $line)) ###
j'utilise systématiquement les books
for suffix in ${pdftab[*]}
do
pdf=$racine"-"$(echo $suffix | cut -d "\"" -f2)".pdf"
if [ ! -f $pdf ]; then
echo $pdf >> \tmp\mrbPdfNonTrouvés
fi
embededlist=$(pdfdetach -list $pdf) ### liste des pièces
jointes déjà présentes
embednumber=$(echo ${embededlist:0:1}) ### nobre de pièces
jointes
if [ $embednumber != 5 ]; then ### s'il y a 5 pieces
jointes, c'est desrécentes, rien à faire. Sinon traitement
gs -dBATCH -DNOPAUSE -q -sDEVICE=pdfwrite
-sOutputFile=out.pdf $pdf ### nettoyage et création d'un fichier
temporaire
if [ ! -z $backup ]; then cp $pdf $pdf".sos"; fi ###
sauvegarde éventuelle du pdf originel
### attachement des piècesjointes
pdftk out.pdf attach_files $line
$include"AdditionalFunctions.ly" $include"jazzchords.ily"
$include"VariablesJazz.ly" $include"lilyjazz.ily" output $pdf
fi
done
done
--
Vincent Gay
Envoyé depuis mon saxo-phone :)
http://blog.vintherine.org/ - http://photos.vintherine.org/
OpenPGP_signature
Description: OpenPGP digital signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [HS] script bash pour attacher les sources aux pdfs,
Vincent Gay <=