Просто предположение: используйте ShellExecute (Ex) с глаголом «печать». Я не знаю, поддерживает ли System.Diagnostics.Process указание глагола, но вы можете импортировать исходную функцию в приложение .NET. Это зависит от того, установил ли пользователь соответствующие приложения, но затем, если вы не хотите открывать файлы, кто-то другой должен это сделать.
Полагаю, вам не нужен маршрут через офисную автоматизацию? В этом случае, как только вы поймете, как он работает, и узнаете о его особенностях, у вас появится более мощный способ сделать что-нибудь, что поддерживают приложения.