separerPagesPDF.sh
1 | #!/bin/bash |
---|---|
2 | |
3 | #copie des fichiers DOC-*.pdf et autres générés par AMC |
4 | # substitution d'extension |
5 | for file in *.pdf; do |
6 | cp "$file" "`basename "$file" .pdf`.bak" |
7 | done |
8 | |
9 | listeCSV=$(find "${PWD}" -maxdepth 1 -name "*.csv" -printf '%f\n') |
10 | pdfFile=DOC-sujet.pdf |
11 | |
12 | # Comptage du nombre de pages du fichier $pdfFile" |
13 | numberOfPages=$(pdftk "${pdfFile}" dump_data output | grep NumberOfPages| awk '{print $2}') |
14 | |
15 | # Comptage (version 2) du nombre de lignes du fichier $listeCSV |
16 | numberOfRows=$(awk 'END {print NR}' "${listeCSV}") |
17 | |
18 | pas=$((numberOfPages/(numberOfRows -1))) |
19 | limite=$((numberOfRows -1)) |
20 | |
21 | |
22 | #for i in $(seq 1 $limite) |
23 | for ((i=1; i<=${limite}; i++)) |
24 | do |
25 | ligne=1+$i |
26 | fileName=$(awk -F, 'NR == '$ligne' {print $4 $2 $3}' "${listeCSV}") |
27 | pdftk "${pdfFile}" cat $((1+(i-1)*pas)) $((i*pas)) output "${fileName}".pdf |
28 | done |
29 | |
30 | |
31 | #vérification que les pdf ont été envoyés |
32 | echo "Envoi effectué par mailmerge OUI/NON ? " |
33 | read answer |
34 | |
35 | while test "$answer" != OUI |
36 | do echo "Envoi effectué par mailmerge OUI/NON ? " |
37 | read answer |
38 | done |
39 | |
40 | #suppression des pdf |
41 | rm *.pdf |
42 | |
43 | #renommage des bak en pdf |
44 | for file in *.bak; do |
45 | mv "$file" "`basename "$file" .bak`.pdf" |
46 | done |
47 | |
48 | #suppression des bak |
49 | #rm *.bak |