https://superuser.com/questions/488813/convert-a-colored-pdf-into-a-white-black/488866#488866
#!/bin/bash
if [ $# -lt 3 ];then
echo "替换PDF中的颜色,根据RGB值"
echo 示例:$0 i.pdf o.pdf "0,0,255,255,80,83 255,255,255,0,0,25"
echo "3个参数:1.输入 2.输出 3.双引号6个一组,替换颜色,空格分开"
exit
fi
f=$1;o=$2;opt=$3
# 解压中间文件
pdftk $f output "tmp-$f" uncompress
# 循环参数
n=0
arr=$(echo $opt|tr " " "\n")
#echo $arr
for x in $arr
do
#echo $x
i=(${x//,/ })
a1=`awk 'BEGIN{printf "%.3f\n",('${i[0]}'/'255')}'`
a2=`awk 'BEGIN{printf "%.3f\n",('${i[1]}'/'255')}'`
a3=`awk 'BEGIN{printf "%.3f\n",('${i[2]}'/'255')}'`
b1=`awk 'BEGIN{printf "%.3f\n",('${i[3]}'/'255')}'`
b2=`awk 'BEGIN{printf "%.3f\n",('${i[4]}'/'255')}'`
b3=`awk 'BEGIN{printf "%.3f\n",('${i[5]}'/'255')}'`
grep -a "$a1 $a2 $a3" "tmp-$f" &> tmp-here.txt
if [ -s tmp-here.txt ];then
echo ${i[@]} $a1 $a2 $a3 'replace -> to' $b1 $b2 $b3 'Done'
sed -i "s/$a1 $a2 $a3/$b1 $b2 $b3/g" "tmp-$f"
let n++
fi
rm tmp-here.txt
done
# 判断是否替换了,存为新文件
if [ $n -eq 0 ];then
echo "没有可替换的值"
else
pdftk "tmp-$f" output "$o" compress
echo "$o is OK"
fi
rm "tmp-$f"