Python ImageWin.dib(img)值错误:图像的模式错误 注意:我对其他语言持开放态度,对无头打印有更好的支持。

Python ImageWin.dib(img)值错误:图像的模式错误 注意:我对其他语言持开放态度,对无头打印有更好的支持。,python,printing,python-imaging-library,Python,Printing,Python Imaging Library,我尝试在Windows上打印,这与使用CUPS的类unix系统相比是一个极大的负担。我的目标是将标签发送到打印机。我用它作为起点,可以打印UPS标签,但不能打印USPS标签。尝试打印标签时,我收到错误消息 File "C:\Users\USER\AppData\Roaming\Python\Python38\site-packages\PIL\ImageWin.py", line 80, in __init__ self.image = Image.core.di

我尝试在Windows上打印,这与使用CUPS的类unix系统相比是一个极大的负担。我的目标是将标签发送到打印机。我用它作为起点,可以打印UPS标签,但不能打印USPS标签。尝试打印标签时,我收到错误消息

  File "C:\Users\USER\AppData\Roaming\Python\Python38\site-packages\PIL\ImageWin.py", line 80, in __init__
    self.image = Image.core.display(mode, size)
ValueError: image has wrong mode
我对图像文件本身做了一点挖掘,发现图像属性的唯一区别是尺寸和位深度(我尝试调整图像大小,但显然没有任何效果)。考虑到这个错误,我认为这是位深度的问题

UPS标签(打印的标签)具有RGBA模式,托盘为空

USPS标签(不打印的标签)的模式为p,返回内存地址以显示有托盘

在参考文档之后,我注意到“p”实际上是一种可接受的模式,而RGBA则不是。这是更令人困惑的,因为接受的模式会给出一个模式错误,而不接受的模式打印得很好

由于隐私原因,我无法分享这些图片,但如果需要,我可以提供更多的图片内容

编辑:

下面的命令可以工作,所以我应该能够使用它来打印…也就是说,如果有人有一个解决方案,可以让我通过编程来完成,而不是通过windows fax/image viewer来打印图像,我将不胜感激


rundll32 C:\Windows\System32\shimgvw.dll,ImageView_PrintTo "LABEL PATH" "PRINTER NAME"