use*_*481 6 printing windows-xp batch-file
我正在使用Windows批处理文件和Windows图片和传真查看器的命令行界面自动打印jpg文件.我在.bat中使用的命令是:
rundll32.exe C:\Windows\System32\shimgvw.dll,ImageView_PrintTo /pt "%fullpath_to_jpg%" "%printer_name%"
Run Code Online (Sandbox Code Playgroud)
我的照片打印机执行4x6打印.如果jpg文件正好是4x6宽高比,一切正常,我得到一个全出血4x6打印.如果没有,我会得到一个我不想要的白色边框.在Windows资源管理器中,我可以右键单击非4x6 jpg,然后选择打印以调用照片打印向导,选择"全页照片打印"并裁剪,以便为我提供我想要的全出血4x6打印.
如何从命令行指定"全页照片打印"布局选项,以告诉shimgvw.dll"裁剪并旋转以适合"而不是"居中并旋转以适应"?是否有注册表设置选择此作为默认布局而不是"全页传真打印?我应该使用photowiz.dll而不是shimgvw.dll?
我找不到这些dll的命令行参数或注册表设置的参考.
坏消息:即使使用 VBS,也无法做到这一点。我提取了所有字符串,并在网络上进行了大量搜索以查找控制此 .dll 的所有方法,但仅存在两个基本方法:
rundll32 shimgvw.dll,ImageView_Fullscreen c:\temp\grub.jpg
Run Code Online (Sandbox Code Playgroud)
将打印 grub.jpg 到屏幕上
rundll32 shimgvw.dll,ImageView_PrintToW /pt c:\temp\grub.jpg "Microsoft XPS Document Writer"
Run Code Online (Sandbox Code Playgroud)
会将 grub.jpg 打印到 MS Office XPS 打印机,尽管此打印机和 PDF 打印机将要求您选择文件名,因此不可能以这种方式实现自动化
使用 XP 内置方法实现自动化打印的唯一方法是使用 SendKeys,但这是一个糟糕的解决方案,因为用户输入的任何意外击键都会导致输出与您想要的不同。当然,您始终可以启动隐藏在 VBS 中的进程,但这不是理想的解决方案。
| 归档时间: |
|
| 查看次数: |
2977 次 |
| 最近记录: |