如何更改打印机端口 USNIG Win32Print (Python3.11)

how to change printer port usnig win32print (python3.11)

提问人:sandakelum priyamantha 提问时间:11/5/2023 更新时间:11/5/2023 访问量:62

问:

我尝试使用以下代码更改打印机端口

import win32ui
import win32print
import time

printer_name = "XP-80C"
desired_port = "USB001"

# Set the desired port for the printer
p = win32print.OpenPrinter(printer_name)
po = win32print.GetPrinter(p,2)
po['pPortName'] = "USB001"
print(po)



try:
    win32print.SetPrinter(p, 2, po,0)
    dc = win32ui.CreateDC()
    dc.CreatePrinterDC(printer_name)
    dc.StartDoc("Print Text")
    dc.StartPage()
except Exception as e:
   
    print(e)

但是我收到这个错误,如何解决?(5, 'SetPrinter', 'Access is denied.')

尝试以编程方式更改打印机端口

winapi 热敏打印机 python-3.11

评论

1赞 IInspectable 11/5/2023
您需要在具有足够权限的用户帐户下运行代码,以执行请求的更改。请记住,仅当打印机确实连接到指定端口时,这才是合理的。提供的端口名称必须正确无误。
0赞 kunif 11/6/2023
尽管该示例是用 C++ 编写的,但这些文章可能会有所帮助。HOWTO: 如何将本地打印机连接到网络打印共享如何设置打印机端口?

答: 暂无答案