, поскольку у вас есть имя файла, вы можете попробовать использовать ShellExecute для печати файла. вам, однако, придется сохранить его во временном местоположении.
Я также думаю, что он не будет сильно отличаться от использования PrintDocument, поскольку он также использует действие Print по умолчанию для типа файла. Кроме того, я думаю, что вам придется пережить это.