Indeed, when invoking the command from the shell prompt using /dev/null as input
(pdftocio ... < /dev/null), then the command does not return an error (i.e. exit code is 0).
So, indeed there is a difference between invoking it from Emacs and invoking it from the
shell prompt (without the /dev/null input). This might not be considered a bug, but it is not
trivial to me, that using call-process implies sending the null-device as input.
Is there a way to call a process from elisp, without sending the input? Otherwise, I would
probably change this into a 'documentation bug' report, in the sense that it would be nice
if this detail was mentioned in the docs (I think it is not currently). I am not sure, if this is a
case of a 'bad/wrongly designed' pdftocio command (I would say that the command might
be well designed, but just it assumes that it is being used from the shell prompt. However,
I am no expert on unix(/posix?) 'protocols').