printing - 使用 Windows 图片和传真查看器 (shimgvw.dll) 从命令行打印 jpg 时,如何选择布局?

标签 printing windows-xp batch-file

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

rundll32.exe C:\Windows\System32\shimgvw.dll,ImageView_PrintTo /pt "%fullpath_to_jpg%" "%printer_name%"

我的照片打印机可以打印 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

将 grub.jpg 打印到屏幕上
rundll32 shimgvw.dll,ImageView_PrintToW /pt c:\temp\grub.jpg "Microsoft XPS Document Writer"

将 grub.jpg 打印到 MS Office XPS 打印机,尽管此打印机和 PDF 打印机将要求您选择文件名,因此无法以这种方式进行自动化

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

关于printing - 使用 Windows 图片和传真查看器 (shimgvw.dll) 从命令行打印 jpg 时,如何选择布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2253162/

相关文章:

ruby - "msvcrt.dll"中是否有错误,使用 Ruby 编译器,在 "Windows XP"上?

python - 如何在 python 中连接/断开连接/配置无线网络?

xml - 如何使用命令提示符 echo 命令编写带双引号的 XML 标记

objective-c - 在 objective-c 中:按原样打印浮点

python - 在一行中打印输出

php - 如何从 MySQL 数据库打印 BLOB 文档

windows - (Windows) 如何锁定所有应用程序(资源管理器、任务管理器等)并仅使浏览器处于事件状态?

scripting - IF ELSE 问题 COMMAND BATCH

windows - 检测文件是否在批处理文件中打开

javascript - 如何使用 Nodejs 打印 lbl 文件?