инструмент командной строки для печати изображения? - PullRequest
7 голосов
/ 20 февраля 2010

моей программе нужно распечатать кривую, мое решение превращает кривую в картинку, и этот файл изображения (xxx.png) можно распечатать с помощью стандартного средства печати изображений Windows (щелкните правой кнопкой мыши вверху файла и выберите «Печать»).

но я не хочу, чтобы пользователь делал эту работу вручную, мне нужен инструмент командной строки для этого:

printPicture xxx.png

есть ли такой инструмент?

PS: бесплатно / с открытым исходным кодом

редактирование: щелкните правой кнопкой мыши файл и выберите «печать», тогда я могу распечатать этот файл, Как я могу сделать это в командной строке?

Ответы [ 7 ]

11 голосов
/ 21 февраля 2010

Я наконец-то узнал!

использовать Windows для просмотра изображений и факсов.

rundll32    shimgvw.dll    ImageView_PrintTo /pt   xxx.png   "printer name"
10 голосов
/ 20 февраля 2010

IrfanView может сделать это. Вот список параметров командной строки для этого приложения.

Следующие должны работать:

i_view32 xxx.png /print

Если вы хотите печатать на принтере другой , отличный от принтера по умолчанию, укажите имя принтера:

i_view32 xxx.png /print="PrinterName"
5 голосов
/ 26 февраля 2013

У этой ссылки было более простое решение:

mspaint / pt [имя файла изображения]

2 голосов
/ 05 декабря 2013
rundll32 C:\WINDOWS\system32\shimgvw.dll,ImageView_PrintTo "c:\mydir\my.bmp" "Fictional HP Printer"
2 голосов
/ 27 августа 2013

У меня была похожая проблема, но мне также нужен был способ управления масштабированием (необходим для работы со штрих-кодом) и всегда центрировать изображение.

Я написал инструмент с открытым исходным кодом ImagePrint , чтобы делать то, что вы хотите. Он написан на VB.Net как консольное приложение. На данный момент он печатает только на принтере по умолчанию.

1 голос
/ 28 января 2016
rundll32 C:\WINDOWS\system32\shimgvw.dll,ImageView_PrintTo "c:\mydir\my.bmp" "Fictional HP Printer"

Это печатает файл изображения (в моем случае .png) на указанном принтере БЕЗ всплывающего диалогового окна. Также ... работает без повышенных привилегий командной строки.

0 голосов
/ 20 февраля 2010

Вы можете вызвать ShellExecute из вашей программы с помощью операции print:

ShellExecute(NULL,"print","c:\\test.png",NULL,NULL,SW_HIDE);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...