首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从命令行使用Windows Picture and Fax Viewer (shimgvw.dll)打印jpgs时,如何选择布局?

从命令行使用Windows Picture and Fax Viewer (shimgvw.dll)打印jpgs时,如何选择布局?
EN

Stack Overflow用户
提问于 2010-02-13 00:09:52
回答 1查看 3.4K关注 0票数 6

我正在使用windows批处理文件和Windows图片和传真查看器的命令行界面自动打印jpg文件。我在.bat中使用的命令是:

代码语言:javascript
复制
rundll32.exe C:\Windows\System32\shimgvw.dll,ImageView_PrintTo /pt "%fullpath_to_jpg%" "%printer_name%"

我的照片打印机可以打印4x6的照片。如果jpg文件恰好是4x6宽高比,那么一切都可以正常工作,并且我会得到一个完全出血的4x6打印。如果不是,我会得到一个我不想要的白色边框。在Windows资源管理器中,我可以右击非4x6jpg并选择打印,以调用照片打印向导,选择“全页照片打印”,它将裁剪给我我想要的全血4x6打印。

如何从命令行指定“全页照片打印”布局选择,以告知shimgvw.dll“裁剪和旋转以适合”而不是“居中和旋转以适合”?是否有注册表设置以选择此作为默认布局,而不是“整页传真打印?我是否应该使用photowiz.dll而不是shimgvw.dll?”

我找不到这些dll的命令行参数或注册表设置的引用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-01 15:15:49

坏消息是:即使使用VBS,也无法做到这一点。我提取了所有的字符串,并在网络上进行了大量的搜索,找到了控制这个.dll的所有方法,只有两种基本的方法存在:

代码语言:javascript
复制
rundll32 shimgvw.dll,ImageView_Fullscreen c:\temp\grub.jpg

将把grub.jpg打印到屏幕上

代码语言:javascript
复制
rundll32 shimgvw.dll,ImageView_PrintToW /pt c:\temp\grub.jpg "Microsoft XPS Document Writer"

我会将grub.jpg打印到MS Office XPS打印机,但该打印机和PDF打印机将要求您选择一个文件名,因此无法以这种方式自动执行此操作

在XP中使用内置方法自动打印的唯一方法是使用SendKeys,但这是一个可怕的解决方案,因为用户输入的任何意外击键都会使输出与您想要的不同。当然,您总是可以启动隐藏在VBS中的进程,但这不是一个理想的解决方案。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2253162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档