#!/bin/sh
infile=$1
prefix=tmp-page
rm -f $prefix*p?m # clean up
# convert pages to raster images
gs -sDEVICE=ppmraw -r30 -sOutputFile=$prefix%03d.ppm -dNOPAUSE -dBATCH -q "$infile"
for img in $prefix*.ppm ; do # for each page
ppmtopgm $img > $img.pgm # convert to grayscale
pgmtoppm '#fff' $img.pgm > $img.pgm.ppm # convert back to RGB
pnmpsnr $img $img.pgm.ppm # diff
done
####
%!PS
/Helvetica findfont 50 scalefont setfont
/text (PerlMonks rocks!) def
% page 1 - black
100 500 moveto text show
100 400 moveto text show
showpage
% page 2 - gray
0.5 setgray
100 500 moveto text show
100 400 moveto text show
showpage
% page 3 - color (black and red)
0 setgray
100 500 moveto text show
1 0 0 setrgbcolor % red
100 400 moveto text show
showpage
####
pnmpsnr: PSNR between tmp-page001.ppm and tmp-page001.ppm.pgm.ppm:
pnmpsnr: Y color component doesn't differ.
pnmpsnr: Cb color component doesn't differ.
pnmpsnr: Cr color component doesn't differ.
pnmpsnr: PSNR between tmp-page002.ppm and tmp-page002.ppm.pgm.ppm:
pnmpsnr: Y color component doesn't differ.
pnmpsnr: Cb color component doesn't differ.
pnmpsnr: Cr color component doesn't differ.
pnmpsnr: PSNR between tmp-page003.ppm and tmp-page003.ppm.pgm.ppm:
pnmpsnr: Y color component: 81.71 dB
pnmpsnr: Cb color component: 35.86 dB
pnmpsnr: Cr color component: 26.43 dB