上記のDingoのスクリプトを試しましたが、うまく機能しているようです。
ただし、私の場合、「偶数」ファイルのページが逆になっています。ページのスタック全体をめくって、スキャナーに戻しました。したがって、スキャンした両面ページが5つあるとしたら、次のようになります。
奇数:1、3、5、7、9
偶数:10、8、6、4、2
必要なのは、最終的な出力です。A1 B5 A2 B4 A3 B3 A4 B2 A5 B1
#!/bin/bash
#script able to interleave the pages of two pdf files, saving the result in a new pdf file.
#Useful for any use, specially to mount parallel text books
# This version assumes that filename2 is in the reverse order
# This is normally what happens if you just flip the pages over
# and scan the second side.
args=$#
if [[ $args -ge 2 ]]
then
filename1=$1
filename2=$2
if [[ $args -ge 3 ]]
then
outputfile=$3
else
outputfile="interleaved.pdf"
echo "output file will be: $outputfile"
fi
else
echo "enter the name (with extension) of first PDF"
read filename1
echo "enter the name (with extension) of second PDF"
read filename2
echo "enter the name (with extension) of the output PDF"
read outputfile
fi
pages1="`pdftk "$filename1" dump_data output |grep Pages|cut -f2 -d :`"
pages2="`pdftk "$filename2" dump_data output |grep Pages|cut -f2 -d :`"
if [ $pages1 -gt $pages2 ]
then
pagesincr="$(echo "scale=0; $pages2+1" |bc -l)"
echo "$filename1 has $pages1 pages"
echo "$filename2 has $pages2 pages"
rule="$(for ((a=1, b=$pages2 ; a <= $pages1, b >= 1 ; a++, b--)); do echo -n "A$a B$b "; done; for x in $(seq $pagesincr 1 $pages1); do echo -n "A$x ";done)"
echo $rule
elif [ $pages2 -gt $pages1 ]
then
echo "$filename1 has $pages1 pages"
echo "$filename2 has $pages2 pages"
pagesincr=$(($pages2 - $pages1))
echo $pagesincr
rule="$(for ((a=1, b=$pages2 ; a <= $pages1, b >= (($pages2 - $pages1 + 1)) ; a++, b--)); do echo -n "A$a B$b "; done; for x in $(seq $pagesincr -1 1); do echo -n "B$x ";done)"
echo $rule
else
echo "$filename1 has $pages1 pages"
echo "$filename2 has $pages2 pages"
rule="$(for ((a=1, b=$pages2 ; a <= $pages1, b >= 1 ; a++, b--)); do echo -n "A$a B$b "; done)"
echo $rule
fi
pdftk A="$filename1" B="$filename2" cat $rule output "$outputfile"
echo "file created!"
exit 0
NB。コマンドラインでファイル名を指定するか、スクリプトでファイル名を尋ねられます。
それが他の誰かを助けることを願っています。