我的程序需要打印曲线, 我的解决方案是将曲线变成图片, 并且可以使用默认的Windows图片打印工具打印此图片文件(xxx.png)(右键单击文件顶部的鼠标,然后选择打印)。
但我不希望用户手动完成这项工作,我需要一个命令行工具来执行此操作:
printPicture xxx.png
有这样的工具吗?
ps:免费/开源
编辑: 右键单击该文件,然后选择“打印”,然后我可以打印此文件, 如何在命令行中执行此操作?
答案 0 :(得分:11)
我终于找到了!
使用Windows图像和传真查看器。
rundll32 shimgvw.dll ImageView_PrintTo /pt xxx.png "printer name"
答案 1 :(得分:10)
IrfanView能够做到这一点。以下是此应用程序的command line options列表。
以下应工作:
i_view32 xxx.png /print
如果要打印到打印机其他而不是默认打印机,请指定打印机名称:
i_view32 xxx.png /print="PrinterName"
答案 2 :(得分:4)
This link有一个更简单的解决方案:
mspaint / pt [图片文件名]
答案 3 :(得分:2)
我遇到了类似的问题,但我还需要控制缩放(条形码工作所需)并始终将图像居中。
我写了一个名为ImagePrint的开源工具来做你想要的。它是用VB.Net编写的一个控制台应用程序。目前,它只打印到默认打印机。
答案 4 :(得分:2)
rundll32 C:\WINDOWS\system32\shimgvw.dll,ImageView_PrintTo "c:\mydir\my.bmp" "Fictional HP Printer"
答案 5 :(得分:1)
rundll32 C:\WINDOWS\system32\shimgvw.dll,ImageView_PrintTo "c:\mydir\my.bmp" "Fictional HP Printer"
这会将一个图像文件(在我的例子中为.png)打印到指定的打印机,而不会弹出一个对话框。另外......在没有提升命令提示权限的情况下工作。
答案 6 :(得分:0)
您可以使用print
操作从程序中调用ShellExecute:
ShellExecute(NULL,"print","c:\\test.png",NULL,NULL,SW_HIDE);