切换打印机托盘

2023-12-22

我知道这个问题以前曾被问过,但没有明确的答案。

如何以编程方式更改打印机纸盒?

我正在尝试使用 python 批量打印一些 PDF。我需要从不同的纸盘打印不同的页面。打印机是理光2232C。有没有办法通过 Acrobat Reader 命令行参数来完成此操作?我可以使用 Win32 api 找出哪些 bin 对应于哪些 binname,但仅此而已。有什么建议/捷径/等等吗?


好吧,我明白了。答案是:

1.您需要本地打印机(如果需要打印到网络打印机,请下载驱动程序并将其添加为本地打印机)
2.使用win32print获取和设置默认打印机
3.同样使用win32print,使用以下代码:

import win32print
PRINTER_DEFAULTS = {"DesiredAccess":win32print.PRINTER_ALL_ACCESS}
pHandle = win32print.OpenPrinter('RICOH-LOCAL', PRINTER_DEFAULTS)
properties = win32print.GetPrinter(pHandle, 2) #get the properties
pDevModeObj = properties["pDevMode"] #get the devmode
automaticTray = 7
tray_one = 1
tray_two = 3
tray_three = 2
printer_tray = []
pDevModeObj.DefaultSource = tray_three #set the tray
properties["pDevMode"]=pDevModeObj #write the devmode back to properties
win32print.SetPrinter(pHandle,2,properties,0) #save the properties to the printer
  1. 就这样,托盘已经换了
  2. 打印是使用 Internet Explorer 完成的(来自 Graham King 的博客)

    from win32com import client
        import time
        ie = client.Dispatch("InternetExplorer.Application")
        def printPDFDocument(filename):
            ie.Navigate(filename)
            if ie.Busy:
                time.sleep(1)
            ie.Document.printAll()
        ie.Quit()
    

Done

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

切换打印机托盘 的相关文章

  • Python 的键盘中断不会中止 Rust 函数 (PyO3)

    我有一个使用 PyO3 用 Rust 编写的 Python 库 它涉及一些昂贵的计算 单个函数调用最多需要 10 分钟 从 Python 调用时如何中止执行 Ctrl C 好像只有执行结束后才会处理 所以本质上没什么用 最小可重现示例 Ca
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • OpenCV Python cv2.mixChannels()

    我试图将其从 C 转换为 Python 但它给出了不同的色调结果 In C Transform it to HSV cvtColor src hsv CV BGR2HSV Use only the Hue value hue create
  • 为 Anaconda Python 安装 psycopg2

    我有 Anaconda Python 3 4 但是每当我运行旧代码时 我都会通过输入 source activate python2 切换到 Anaconda Python 2 7 我的问题是我为 Anaconda Python 3 4 安
  • 使用带有关键字参数的 map() 函数

    这是我尝试使用的循环map功能于 volume ids 1 2 3 4 5 ip 172 12 13 122 for volume id in volume ids my function volume id ip ip 我有办法做到这一点
  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template
  • 使用 on_bad_lines 将 pandas.read_csv 中的无效行写入文件

    我有一个 CSV 文件 我正在使用 Python 来解析该文件 我发现文件中的某些行具有不同的列数 001 Snow Jon 19801201 002 Crom Jake 19920103 003 Wise Frank 19880303 l
  • SQLALchemy .query:类“Car”的未解析属性引用“query”

    我有一个这里已经提到的问题https youtrack jetbrains com issue PY 44557 https youtrack jetbrains com issue PY 44557 但我还没有找到解决方案 我使用 Pyt
  • 基于代理的模拟:性能问题:Python vs NetLogo & Repast

    我正在 Python 3 中复制一小段 Sugarscape 代理模拟模型 我发现我的代码的性能比 NetLogo 慢约 3 倍 这可能是我的代码的问题 还是Python的固有限制 显然 这只是代码的一个片段 但 Python 却花费了三分
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • 如何在Python中获取葡萄牙语字符?

    我正在研究葡萄牙语 角色看起来很奇怪 我怎样才能解决这个问题 代码 import feedparser import random Vou definir os feeds feeds conf feedurl http pplware s
  • Flask如何获取请求的HTTP_ORIGIN

    我想用我自己设置的 Access Control Allow Origin 标头做出响应 而弄清楚请求中的 HTTP ORIGIN 参数在哪里似乎很混乱 我在用着烧瓶 0 10 1 以及HTTP ORIGIN似乎是这个的特点之一object
  • SetCurrentDirectoryW 中的错误 206

    在我之后之前不清楚的问题 https stackoverflow com questions 44389617 long path name in setcurrentdirectoryw 我以某种方式能够创建一个具有长路径名的目录 但是
  • Fabric env.roledefs 未按预期运行

    On the 面料网站 http docs fabfile org en 1 10 usage execution html 给出这个例子 from fabric api import env env roledefs web hosts
  • 将图像分割成多个网格

    我使用下面的代码将图像分割成网格的 20 个相等的部分 import cv2 im cv2 imread apple jpg im cv2 resize im 1000 500 imgwidth im shape 0 imgheight i
  • 如何在seaborn displot中使用hist_kws

    我想在同一图中用不同的颜色绘制直方图和 kde 线 我想为直方图设置绿色 为 kde 线设置蓝色 我设法弄清楚使用 line kws 来更改 kde 线条颜色 但 hist kws 不适用于显示 我尝试过使用 histplot 但我无法为
  • 为字典中的一个键附加多个值[重复]

    这个问题在这里已经有答案了 我是 python 新手 我有每年的年份和值列表 我想要做的是检查字典中是否已存在该年份 如果存在 则将该值附加到特定键的值列表中 例如 我有一个年份列表 并且每年都有一个值 2010 2 2009 4 1989
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from
  • 从列表指向字典变量

    假设你有一个清单 a 3 4 1 我想用这些信息来指向字典 b 3 4 1 现在 我需要的是一个常规 看到该值后 在 b 的位置内读写一个值 我不喜欢复制变量 我想直接改变变量b的内容 假设b是一个嵌套字典 你可以这样做 reduce di
  • 如何使用 Pycharm 安装 tkinter? [复制]

    这个问题在这里已经有答案了 I used sudo apt get install python3 6 tk而且效果很好 如果我在终端中打开 python Tkinter 就可以工作 但我无法将其安装在我的 Pycharm 项目上 pip

随机推荐

  • 是否可以在 C# 中创建一个新的运算符?

    我知道你可以重载现有的运算符 我想知道是否可以创建一个新的运算符 这是我的场景 我要这个 var x y lt z y z 相当于 var x y
  • 从 Stripe 账户转账到其他账户

    我用它来向连接的帐户收费 然后将钱发送到另一个帐户 但我不断收到此错误消息 我不断收到此错误消息 您不能提供destination向连接的帐户收费时 return stripe charges create amount 1000 curr
  • VueJS:如何滚动 v-list-title

    使用 v list 制作列表屏幕时 我卡住了滚动 v list title 项目 我正在使用 VueJS 和 vuetifyjs 我的代码片段如下 https codepen io badsaarow pen aaRaxe editors
  • 如何直接从测试驱动程序调用自定义 Django manage.py 命令?

    我想为 Django manage py 命令编写一个单元测试 该命令对数据库表执行后端操作 如何直接从代码调用管理命令 我不想从tests py 在操作系统的shell 上执行命令 因为我无法使用使用manage py test 设置的测
  • 更改 Alembic 中的主键?

    我已读完the docs http alembic readthedocs org en latest ops html 但我在任何地方都找不到这方面的说明 我尝试删除旧密钥并添加新密钥 但这会导致错误 op drop constraint
  • Pandas:根据行值删除重复项

    我有一个数据框 我想根据不同的条件删除重复项 A B 0 1 1 0 1 1 1 0 2 2 2 0 3 2 2 0 4 3 3 0 5 4 4 0 6 5 5 0 7 5 1 8 5 1 9 5 3 我想删除 A 列中除带有 的行之外的所
  • 返回带有 ember-data find() 和多个参数的单个记录

    我正在尝试对除 id 之外的其他参数 实际上是两个参数 进行查找 使用 ember data 但我得到的只是 Uncaught Error assertion failed Your server returned a hash with
  • HTML 表单上的默认提交按钮是如何确定的?

    如果提交表单但未通过任何特定按钮提交 例如 by pressing Enter using HTMLFormElement submit in JS 浏览器如何确定使用多个提交按钮 如果有 中的哪一个作为按下的按钮 这在两个层面上具有重要意
  • TabLayout选项卡样式

    我用新的TabLayout from com android support design图书馆 我想更改选定 未选定选项卡的背景 我查看来源 只发现tabBackground更改所有选项卡颜色但不控制选定选项卡颜色的属性 如何控制选定 未
  • 检查 INTENT 互联网连接

    有安卓的吗Intent ACTION XXX当互联网连接可用时通知我 我想实例化一个BroadcastReceiver当用户启用互联网连接 通过 wifi GSM 等 时通知我的应用程序 有人可以帮助我吗
  • 我如何知道我正在使用什么 CLR?

    是否有信息可以告诉我正在使用的 NET 版本以及它是否是 NET 2 0 SP1 Thanks 您可以使用Environment Version http msdn microsoft com en us library system en
  • 如何使用 Vaadin CDI 和 Navigator 实现 MVP?

    我想使用 Vaadin 在我的 Web 应用程序中实现 MVP 模式 我正在使用 Vaadin Navigator 和 CDIViewProvider 如下所示 MyUI java public class MyUI extends UI
  • 如何在 Linux 中重新定义 malloc() 以在 C++ new 中使用

    我为我定义了 mem malloc 和 mem free 我想用它们来替换 malloc 和 free 以及 C 的 new 和 delete 我将它们定义如下 extern C extern void mem malloc size t
  • 将 s3 上的多个 zip 文件合并为更少的 zip 文件

    我们遇到一个问题 其中 s3 目录中的某些文件的大小约为 500MiB 但许多其他文件的大小为 KiB 和字节 我想将所有小文件合并成更少的大约 500MiB 的大文件 在 s3 文件夹中重写数据的最有效方法是什么 而不必下载 在本地合并并
  • 如何获取 ADF2 中动态内容中一个月的最后一天?

    我想根据 utcnow 时间戳获取一个月的最后一天 下面表达式中的 dd 应该自动为该月的最后一天 28 30 或 31 formatDateTime adddays utcnow 2 yyyy MM ddT23 59 59 999 考虑到
  • 如何使用 CNContactPickerViewController 使用一组电话号码来过滤联系人?

    我尝试使用一组现有电话号码从地址簿中过滤一些联系人 CNContactPickerViewController当这些联系人的电话号码与现有电话号码匹配时 应禁止选择这些联系人 我需要使用电话号码作为过滤器 因为这些电话号码可能来自其他应用程
  • 如何从使用ajax的javascript函数获取值

    我正在调用一个使用 ajax 获取值的函数 如何将该值返回给调用函数 我的ajax调用函数是 function getStatusOfAdv advID ajax url baseURL admin advertisers get adv
  • 如何在 GWT RichTextArea 中设置光标位置

    有没有办法在 GWT RichTextArea 中设置 cusror 位置 在 TextArea 中有 setCusrorPosition 方法可以执行此操作 但在 RichTextArea 中则没有 也许有一个本机 JavaScript
  • 具有多个可执行文件的应用程序显示已签名,但会触发防火墙警告

    我正在为 OS X 开发一个使用多个可执行文件的 QT 应用程序 我们通过签署 app 中的每个可执行文件来签署 app 然后使用 f 选项签署整个 app 这是我们联系 Apple 时建议的程序 但是 每次我们的应用程序启动时 都会向用户
  • 切换打印机托盘

    我知道这个问题以前曾被问过 但没有明确的答案 如何以编程方式更改打印机纸盒 我正在尝试使用 python 批量打印一些 PDF 我需要从不同的纸盘打印不同的页面 打印机是理光2232C 有没有办法通过 Acrobat Reader 命令行参