A couple of points:
First, what's happening is that your program is dying before it gets the chance to produce any output. In order to see the error message, you need to put
use CGI::Carp qw(fatalsToBrowser);
at the top of your script. That way you'll see the error messages. When I try to run your script on my site, I get various errors from html2ps and Image::Magick. Can you run your script from the command line? If so, and it runs correctly, you've probably got a permissions issue.
Secondly, the 'binmode' line is unnecessary if you're on UNIX. Both the file structure you're using and the HTTP header tell me you're on UNIX, so I'd remove that.