命令行工具打印图片?

我的程序需要打印曲线,我的解决scheme是将曲线变成图片,并且可以使用默认的Windows图片打印工具(右击文件顶部的鼠标右键点击此图片文件(xxx.png)select打印)。

但我不希望用户手动执行此作业,我需要一个命令行工具来执行此操作:

printPicture xxx.png 

有没有这样的工具?

ps:免费/开源

编辑:右键单击文件,并select“打印”,然后我可以打印这个文件,我怎样才能做到这一点在命令行?

我终于找到了!

使用Windows图像和传真查看器。

 rundll32 shimgvw.dll ImageView_PrintTo /pt xxx.png "printer name" 

IrfanView能够做到这一点。 这里是这个应用程序的命令行选项列表。

以下应该工作:

 i_view32 xxx.png /print 

如果要打印到默认打印机以外的打印机,请指定打印机名称:

 i_view32 xxx.png /print="PrinterName" 

这个链接有一个更简单的解决方案:

mspaint / pt [图像文件名]

 rundll32 C:\WINDOWS\system32\shimgvw.dll,ImageView_PrintTo "c:\mydir\my.bmp" "Fictional HP Printer" 

我有一个类似的问题,但我也需要控制缩放(条码工作所需)的方式,并始终以图像为中心。

我写了一个叫做ImagePrint的开源工具来做你想做的事情。 它是作为一个控制台应用程序在VB.Net中编写的。 此刻,它只打印到默认打印机。

 rundll32 C:\WINDOWS\system32\shimgvw.dll,ImageView_PrintTo "c:\mydir\my.bmp" "Fictional HP Printer" 

这将打印一个图像文件(在我的情况下是.png)到指定的打印机,没有弹出一个对话框。 另外…没有提升命令提示权限。

您可以通过print操作从程序调用ShellExecute :

 ShellExecute(NULL,"print","c:\\test.png",NULL,NULL,SW_HIDE);