Extraire un intervalle de page d'un pdf - retour accueil
git clone git://bebou.netlib.re/pdfextract
Log | Files | Refs | README |
commit 5c4ec2e928c82df4ecd6e7f0a1645dd8c050272c parent d4d58fc40c9cb9b4140d7fe5ed0ecf862669a13e Auteurice: Arthur Pons <arthur.pons@unistra.fr> Date: Thu, 28 Nov 2024 11:43:11 +0100 Correction bug calcul nombre de pages pdfextract -s truc sans -e ne fonctionnait pas parce que je récupérais pas bien le nombre de pages Diffstat:
M | pdfextract.sh | | | 16 | ++++++---------- |
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/pdfextract.sh b/pdfextract.sh @@ -26,24 +26,20 @@ while getopts "s:e:f:o:h" opt;do esac done -_die() { - msg="$1" - echo "$msg" >&2 - exit 1 -} +_die() { msg="$1";echo "$msg" >&2;exit 1; } nbpages() { sourcefile="$1" - pdfinfo "$sourcefile" | awk '{print $2}' + pdfinfo "$sourcefile" | grep "^Pages:" | awk '{print $2}' } -[ -n "$s" ] && [ -z "$e" ] && e="$(nbpages $f)" -[ -z "$s" ] && [ -z "$e" ] && _die "Manque les pages" - tmpdir=$(mktemp -d) trap "rm -rf $tmpdir" EXIT QUIT TERM -[ "$f" = "-" ] || [ -z "$f" ] && { cat > $tmpdir/in; f=$tmpdir/in; } +[ "$f" = "-" ] || [ -z "$f" ] && { cat > "$tmpdir/in"; f="$tmpdir/in"; } +[ -n "$s" ] && [ -z "$e" ] && e="$(nbpages "$f")" +[ -z "$s" ] && [ -z "$e" ] && _die "Manque les pages" + pdfseparate -f "${s:-0}" -l "$e" "$f" $tmpdir/%d.pdf.tmp pdfs=$(find $tmpdir -name '*.pdf.tmp' | sort -t'/' -nk4) pdfunite $pdfs $tmpdir/out