打印图片向导(不使用ImageView_PrintTo )
易需吧
全部回复
仅看楼主
level 7
deAngle 楼主
最近朋友需要一个图片浏览打印功能,必须delphi调用。网上找到cnpack包和graphicEx可以满足图片处理的需要。至于打印觉得最好调用window系统的打印向导。实际上像很多2345看图王之类的也是这样做的。
找了一下资料很多都是命令行调用的。
undll32.exe
C:\\WINDOWS\\system32\\shimgvw.dll,ImageView_Fullscreen %1
undll32.exe
C:\\WINDOWS\\system32\\shimgvw.dll,ImageView_Fullscreen %1
undll32.exe
C:\\WINDOWS\\system32\\shimgvw.dll,ImageView_Fullscreen %1
rundll32.exe shimgvw.dll,ImageView_Fullscreen %1打开图片(成功)
rundll32.exe shimgvw.dll,ImageView_PrintTo /pt “%1” “%2” 打印图片(只打印无向导,也就是很多人说的没反映)
打开进程管理器看了一下,第一条命令的进程为dllhost.exe。第二条命令的进程为explorer.exe。这大概就是调用不成功的原因。但注册表中的命令也确实是这样写的,可能是explorer是窗口程序,或是做了特殊的进程处理。
其它程序是怎么实现的呢?终于在百度经验里找到一篇“编程实现调用windows照片打印向导来打印图片“http://jingyan.baidu.com/article/b87fe19ebcb9fd521835689f.html
在调试的时候分别进行了,mfc程序,win32控制台,和dll程序。mfc程序是成功的,但到了控制台程序里面又不能行了,进一步打印图片向导与窗口有关。最后做dll在delphi中调用也成功了。下面分享一下代码和演示
2014年09月22日 11点09分 1
level 7
deAngle 楼主
2014年09月22日 11点09分 2
我目前调用的ImageView_PrintTo是成功的,只是,什么参数可以设置,打印的照片就像是用窗口打印时,自动勾上那个:适应边框打印。C:\WINDOWS\system32\rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_PrintTo /pt “文件名” “打印机名",,,这样调用默认是不勾的,如果让转为是勾的。
2016年07月06日 07点07分
@llshboy 你好 我现在也在做这个 ImageView_PrintTo 除了/pt还能设置哪些参数?
2016年07月07日 08点07分
@albatross11 解决了吗,大大,我也在到处找这个参数
2018年05月13日 18点05分
@啊基德 没解决 记不太清了 好像是最后发现只有两个参数 一个是直接后台开始打印 设置全是默认的 另一个是会弹出windows的框体窗
2018年05月21日 14点05分
level 1
谢谢楼主分享
2016年06月21日 05点06分 3
level 7
deAngle 楼主
调用2345看图王吧
2017年01月02日 12点01分 4
1