summaryrefslogtreecommitdiff
path: root/pkgs/scripts/merge-pdfs.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--pkgs/scripts/merge-pdfs.nix18
1 files changed, 11 insertions, 7 deletions
diff --git a/pkgs/scripts/merge-pdfs.nix b/pkgs/scripts/merge-pdfs.nix
index 584505a..cb7d678 100644
--- a/pkgs/scripts/merge-pdfs.nix
+++ b/pkgs/scripts/merge-pdfs.nix
@@ -1,16 +1,20 @@
-{ writeShellScriptBin, pdftk, ... }:
+{
+ writeShellScriptBin,
+ pdftk,
+ ...
+}:
writeShellScriptBin "merge-pdfs" ''
set -e
export PATH="$PATH:${pdftk}/bin"
-
+
if [ $# -lt 3 ]; then
echo "Usage: $0 <output> <PDFs...>" >&2
exit 1
fi
-
+
OUTPUT="$1"
shift
-
+
WORKDIR="$HOME/vtmp/merge-pdfs.$$"
BOOKMARKS="$WORKDIR/bookmarks.txt"
FMT="BookmarkBegin
@@ -18,9 +22,9 @@ writeShellScriptBin "merge-pdfs" ''
BookmarkLevel: 1
BookmarkPageNumber: 1
"
-
+
mkdir "$WORKDIR"
-
+
N=0
for SOURCE in "$@"; do
BASE="$(basename "$SOURCE")"
@@ -28,7 +32,7 @@ writeShellScriptBin "merge-pdfs" ''
pdftk "$SOURCE" update_info "$BOOKMARKS" output "$WORKDIR/"$(printf "%04d" $N).pdf
N=$((N+1))
done
-
+
pdftk "$WORKDIR"/*.pdf cat output "$OUTPUT"
rm -r "$WORKDIR"
''