Исходя из ваших обновленных комментариев, звучит так, как будто вы хотите конвертировать различные изображения и типы документов в один общий тип изображения.Процесс выбора одного из нескольких возможных исходных форматов, которые вы упомянули, и преобразования его в растровый формат, такой как .PNG, называется RENDERING или RASTERIZING.Вы хотите взять один из входных форматов, отобразить его в растровом представлении, а затем записать в файл в формате .PNG.Хотя это, безусловно, можно сделать с помощью драйвера принтера, для этого обычно следует полагаться на установленное приложение, которое позволит вам передать исходный документ для печати в драйвер.Чтобы это работало, каждый из типов исходных файлов, которые вы хотите обрабатывать таким образом, должен иметь установленное приложение, которое может выполнять действия из оболочки и выполнять то, что вы запрашиваете.Например, если вы хотите сделать это с файлом .DOC, вам нужно установить Microsoft Word, так как он правильно отвечает на команду оболочки PRINT.Однако ограничение метода на основе оболочки состоит в том, что он всегда будет печатать на системном принтере DEFAULT.Таким образом, ваш драйвер должен быть установлен в качестве принтера по умолчанию для машины, на которой вы собираетесь запустить процесс.Поэтому вам нужно будет проверить, есть ли у каждого из типов источников, которые вы хотите иметь возможность обрабатывать, установленное или устанавливаемое приложение, которое позволит вам распечатать их с помощью оболочки и глагола действия PRINT.
Ссылки URL:
Глаголы оболочки Windows и ассоциации файлов
Создание обработчиков контекстного меню
Проблема с этим методом не все приложения реагируютк глаголу ПЕЧАТЬ правильно или вообще.Обычно это работает со всеми основными приложениями Microsoft, но вам следует протестировать любые другие типы документов, которые вы хотите поддерживать, прежде чем углубляться в эту технику.
Это также поднимает другие вопросы, которые даже не начинаются, например, что делать с несколькими форматами страниц.Вы перечислили несколько типов изображений, которые просты и могут быть преобразованы в файлы PNG довольно напрямую.Но как вы хотите визуализировать многостраничные файлы документов Word в формат PNG?Вы собираетесь использовать только один очень большой PNG со всеми страницами один за другим?Или вы собираетесь использовать один файл PNG для соответствующей страницы исходного документа?Метод драйвера принтера может не дать вам большого контроля над этим.
В зависимости от некоторых из этих деталей, а также от того, насколько вам нужен контроль и надежность в процессе, вы можете рассмотреть совершенно другой путь к вашему процессу.Возможно, вам следует подумать об использовании инструментов / библиотек, которые могут читать исходные форматы файлов, которые вы хотите поддерживать, и отображать их напрямую, после чего вы можете сохранять их в свои файлы PNG.Одна библиотека, которую я использовал в прошлом, которая, казалось бы, подходила и давала вам высокую степень контроля над процессом преобразования (рендеринга / растеризации), - это LeadTools.Это довольно дорогой продукт, но мой опыт показывает, что он надежно поддерживает широкий спектр форматов.
SDK LeadTools для чтения PDF и документов
Могут быть и другие доступные инструменты с открытым исходным кодом, которые вы можете использовать для поддержки этого типа функций, но я незнаком с любым, чтобы указать вам на что-то конкретное.Но, надеюсь, это поможет вам получить некоторую информацию о том, как составить процесс, который может быть более надежным, и даст вам больший контроль, чем попытка заставить драйвер принтера сделать что-то, что вы, возможно, не сможете сделать надежно.