Utile pour fusionner les fichiers PDF sélectionnés.
Important : l'ordre dépend de l'ordre de sélection par clic.
On a besoin de :
Script "mergepdf" :
#!/bin/sh
target=$(zenity --title="Fichier PDF de destination" --file-selection --save --confirm-overwrite --file-filter=*.pdf)
pdftk $@ cat output $target
zenity --info --text "Enregistrement du fichier $target terminé"
Explications ici : http://shaarli.plop.me/?0wJ_Pg
Les scripts sont dans la catégorie #NautilusCajaScripts
Dans le gestionnaire de fichier caja ou nautilus, en choisissant un répertoire de destination, on peut générer le fichier vidéo de ce que voit la webcam, en utilisant VLC, avec ce simple script :
#!/bin/sh
vlc v4l2:// --sout "#transcode{vcodec=h264,vb=0,scale=0,acodec=mp4a,ab=128,channels=2,samplerate=44100}:duplicate{dst=standard{access=file, mux=mp4,dst=flux-`date +%Y%m%d-%H%M%S`.avi}}" --noaudio
Explications ici : http://shaarli.plop.me/?0wJ_Pg
Les scripts sont dans la catégorie #NautilusCajaScripts
Explications ici : http://shaarli.plop.me/?0wJ_Pg
Les scripts sont dans la catégorie #NautilusCajaScripts
Inkscape est un logiciel de dessin vectoriel extrêmement puissant et simple qui remplace avantageusement (selon moi) Illustrator.
On peut l'invoquer en ligne de commande pour effectuer certaines tâches, comme par exemple l'export vers une image ou l'enregistrement dans divers formats.
Pour ce qui est de l'export, il ne connait que le PNG, qu'à cela ne tienne, on peut se servir de imagemagick pour les autres formats d'image.
A noter que transformer un fichier SVG directement en un autre format avec imagemagick ne donnera pas du tout le même résultat. En effet, certaines subtilités du format ne sont pas forcément détectées par imagemagick.
Il est donc préférable de se servir de Inkscape pour travailler avec le format SVG.
Par ailleurs la transformation en PDF est bien plus intéressante avec Inkscape qu'avec imagemagick, en effet ce dernier rasterise l'image (convertir le vectoriel en bitmap) avant d'en faire un PDF, contrairement à Inkscape qui génère un PDF avec les éléments séparés, textes, images, éléments vectoriels... Le poids du fichier, ainsi que la qualité à l'impression peuvent s'en ressentir.
J'ai besoin le plus souvent de 3 formats de destination : PNG, JPG et PDF.
Voici le script pour convertir un SVG en PNG : inkscape_to_png
#!/bin/bash
scriptname=`basename $0`
# Determine wave type to convert to based on the name of the script
newext=`echo $scriptname | sed 's/inkscape.to.\(.\+\)/.\1/'`
logfile=`mktemp -t $script_name.XXXXXX`
tail -f $logfile | zenity --text-info --title="Converting sound to $newext" &
for svg in "$@"; do
oldext=$(echo $svg|sed 's/.*\.\(.\+\)/\1/')
if [ $oldext != "svg" ]
then
echo "Not a svg file" >> $logfile
continue
fi
# Determine target svg name
target=$(echo $svg|sed 's/\(.*\)\..\+/\1/')$newext
if [ -f "$target" ]
then
echo "File exists" >> $logfile
continue
fi
datefile=`date -r "$svg" +%Y%m%d%H%M`
echo "$svg -> $target" >> $logfile
inkscape -f "$svg" -d 90 -e "$target"
touch -t $datefile "$target"
done
echo done >> $logfile
rm -f $logfile
Voici le script pour convertir un SVG en JPEG : inkscape_to_jpg
#!/bin/bash
scriptname=`basename $0`
# Determine wave type to convert to based on the name of the script
newext=`echo $scriptname | sed 's/inkscape.to.\(.\+\)/.\1/'`
logfile=`mktemp -t $script_name.XXXXXX`
tail -f $logfile | zenity --text-info --title="Converting sound to $newext" &
for svg in "$@"; do
oldext=$(echo $svg|sed 's/.*\.\(.\+\)/\1/')
if [ $oldext != "svg" && $oldext != "pdf" ]
then
echo "Not a svg file" >> $logfile
continue
fi
# Determine target svg name
target=dac
target2=$(echo $svg|sed 's/\(.*\)\..\+/\1/')$newext
if [ -f "$target" ]
then
echo "File $target exists" >> $logfile
continue
fi
if [ -f "$target2" ]
then
echo "File $target2 exists" >> $logfile
continue
fi
datefile=`date -r "$svg" +%Y%m%d%H%M`
echo "$svg -> $target" >> $logfile
inkscape -f "$svg" -d 300 -e "$target"
#~ touch -t $datefile "$target"
touch "$target"
echo "$target -> $target2" >> $logfile
convert "$target" -quality 92 -density 90 -resample 150x150 -resize 850x710 "$target2"
#~ touch -t $datefile "$target2"
touch "$target2"
rm "$target"
done
echo done >> $logfile
rm -f $logfile
Voici le script pour convertir un SVG en PDF : inkscape_to_pdf
#!/bin/bash
scriptname=`basename $0`
# Determine wave type to convert to based on the name of the script
newext=`echo $scriptname | sed 's/inkscape.to.\(.\+\)/.\1/'`
logfile=`mktemp -t $script_name.XXXXXX`
tail -f $logfile | zenity --text-info --title="Converting sound to $newext" &
for svg in "$@"; do
oldext=$(echo $svg|sed 's/.*\.\(.\+\)/\1/')
if [ $oldext != "svg" ]
then
echo "Not a svg file" >> $logfile
continue
fi
# Determine target svg name
target=$(echo $svg|sed 's/\(.*\)\..\+/\1/')$newext
if [ -f "$target" ]
then
echo "File exists" >> $logfile
continue
fi
datefile=`date -r "$svg" +%Y%m%d%H%M`
echo "$svg -> $target" >> $logfile
inkscape -f "$svg" -d 90 -A "$target"
touch -t $datefile "$target"
done
echo done >> $logfile
rm -f $logfile
Donc merci quand même pour vos applaudissements, mais ça fait des années que le personnel hospitalier travaille dans des conditions de merde et se nique la santé en faisant son job du mieux possible.
La prochaine fois que vous voyez des manifestations pour refinancer les soins de santé, soutenez-nous.
Via Opennews
Explications ici : http://shaarli.plop.me/?0wJ_Pg
Les scripts sont dans la catégorie #NautilusCajaScripts
Ces scripts utilisent plusieurs outils :
Certains fichiers PDF sont beaucoup trop volumineux, parfois, il faut changer ça. Ghostscript vient à notre rescousse. Cependant, il faut savoir négocier la qualité et le poids du fichier.
Voilà pourquoi je propose 3 scripts pour 3 niveaux de poids et de qualité. A tester ensuite sur son fichier PDF pour choisir la meilleure conversion.
1er script : pdflight
#!/bin/bash
scriptname=`basename $0`
# Determine wave type to convert to based on the name of the script
logfile=`mktemp -t $scriptname.XXXXXX`
tail -f $logfile | zenity --text-info --title="Converting pdf to $newext" &
for pdf in "$@"; do
oldext=$(echo $pdf|sed 's/.*\.\(.\+\)/\1/')
if [ $oldext != "pdf" ]
then
echo "Not a pdf file" >> $logfile
continue
fi
datefile=`date -r "$pdf" +%Y%m%d%H%M`
echo "$pdf" >> $logfile
gs -q -dPDFA -dNOOUTERSAVE -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dProcessColorModel=/DeviceRGB -sOUTPUTFILE="`basename "$pdf" .pdf`_l.pdf" "$pdf"
notify-send "Conversion de $pdf terminée"
touch -t $datefile "$target"
done
echo done >> $logfile
rm -f $logfile
2eme script : pdflighter
Par rapport au premier script il n'y a qu'une seule chose à changer à la ligne :
gs -q -dPDFA -dNOOUTERSAVE -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dProcessColorModel=/DeviceRGB -sOUTPUTFILE="`basename "$pdf" .pdf`_l.pdf" "$pdf"
remplacer "/printer" par "/ebook"
2eme script : pdflightest
Par rapport au premier script il n'y a qu'une seule chose à changer à la ligne :
gs -q -dPDFA -dNOOUTERSAVE -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dProcessColorModel=/DeviceRGB -sOUTPUTFILE="`basename "$pdf" .pdf`_l.pdf" "$pdf"
remplacer "/printer" par "/screen"
J'utilise :
Attention, mon scanner est un CanoScan Lide 210.
Il est nécessaire tout d'abord de connaître son scanner, d'avoir installé le driver.
Je vous suggère de tester la présence du scanner s'il est USB avec la commande :
lsusb
Lorsque j'exécute cette commande, j'obtiens entre autres la ligne suivante :
Bus 003 Device 032: ID 04a9:190a Canon, Inc. CanoScan LiDE 210
Il faut être attentif à 3 points :
Voici le 1er script pour scanner en 300dpi : scan300
#/bin/sh
usb1=$(lsusb | grep CanoScan | awk -r '{print $2}')
usb2=$(lsusb | grep CanoScan | awk -r '{print $4}'|sed -e 's/://')
pnm=scan_72ppi_`date +%H-%M-%S`.pnm
jpg=scan_72ppi_`date +%H-%M-%S`.jpg
#gksudo chmod a+rw /dev/bus/usb/$usb1/$usb2
time scanimage -d genesys:libusb:$usb1:$usb2 -x 210 -y 297 --resolution=300 --mode Color > $pnm
convert $pnm -quality 100 $jpg
rm $pnm
Voici le 2eme script pour scanner en 600dpi : scan600
#/bin/sh
usb1=$(lsusb | grep CanoScan | awk -r '{print $2}')
usb2=$(lsusb | grep CanoScan | awk -r '{print $4}'|sed -e 's/://')
pnm=scan_72ppi_`date +%H-%M-%S`.pnm
jpg=scan_72ppi_`date +%H-%M-%S`.jpg
#gksudo chmod a+rw /dev/bus/usb/$usb1/$usb2
time scanimage -d genesys:libusb:$usb1:$usb2 -x 210 -y 297 --resolution=600 --mode Color > $pnm
convert $pnm -quality 100 $jpg
rm $pnm
Voici le 3eme script pour scanner en niveaux de gris : scan_nb
#/bin/sh
usb1=$(lsusb | grep CanoScan | awk -r '{print $2}')
usb2=$(lsusb | grep CanoScan | awk -r '{print $4}'|sed -e 's/://')
pnm=scan_gray_`date +%H-%M-%S`.pnm
jpg=scan_gray_`date +%H-%M-%S`.jpg
#gksudo chmod a+rw /dev/bus/usb/$usb1/$usb2
time scanimage -d genesys:libusb:$usb1:$usb2 -x 210 -y 297 --resolution=300 --mode Gray > $pnm
convert $pnm -quality 100 $jpg
rm $pnm
Explications ici : http://shaarli.plop.me/?0wJ_Pg
Les scripts sont dans la catégorie #NautilusCajaScripts
Nautilus et Caja ont un outil vraiment intéressant pour effectuer des tâches rapides sur un ou plusieurs fichiers, ou dans le répertoire courant.
Ce sont des scripts qui sont localisés dans ~/.config/caja/scripts ou ~/.config/nautilus/scripts suivant que l'on utilise Mate ou Gnome.
Lorsque l'on est dans une fenêtre du gestionnaire de fichiers, un clic droit, puis scripts et on choisi le script en question.
A noter que l'on peut utiliser des sous dossiers pour organiser ses scripts, ils apparaîtront dans les sous-menus du menu contextuel.
Attention à rendre les scripts exécutables pour les activer dans le menu.
Je vais poster les quelques scripts dont je me sers quasi quotidiennement sous le tag #NautilusCajaScripts
Pour commencer un script qui n'est pas de moi, mais vraiment pratique pour convertir à la volée des images dans un format déterminé.
Pour cela, il faut imagemagick et zenity pour voir le log.
Une astuce pour ce script, il y a un seul script, par défaut il est nommé "convert_to_png", mais la partie "png" du nom détermine le format de sortie.
Ainsi un simple :
ln -s convert_to_png convert_to_jpg
offre la possibilité de choisir un autre format d'image en sortie, cela fonctionne pour tout ce que imagemagick peut convertir, y compris le PDF.
Voici le script :
#!/bin/bash
scriptname=`basename $0`
# Determine image type to convert to based on the name of the script
newext=`echo $scriptname | sed 's/convert.to.\(.\+\)/.\1/'`
logfile=`mktemp -t $script_name.XXXXXX`
tail -f $logfile | zenity --text-info --title="Converting images to $newext" &
for image in "$@"; do
# Determine target image name
target=$(echo $image|sed 's/\(.*\)\..\+/\1/')$newext
echo "$image -> $target" >> $logfile
convert "$image" -quality 85 -density 90 "$target"
done
echo done >> $logfile
rm -f $logfile