使用Python在Mac OS X中打印.docx文件

使用Python在Mac OS X中打印.docx文件,python,macos,ms-word,docx,zebra-printers,Python,Macos,Ms Word,Docx,Zebra Printers,我正试图用Python打印一个包含2个图像的docx文件,但似乎无法解决这个问题 就上下文而言,这是个人项目的最后一部分,这将是一个摊位,用户在这里完成一个测验,然后可以打印一张个性化卡片 打印机是Zebra ZXP系列3 以下是我使用的代码: import subprocess from subprocess import Popen with open("FILENAME.docx") as f: # call the system's lpr command p = P

我正试图用Python打印一个包含2个图像的docx文件,但似乎无法解决这个问题

就上下文而言,这是个人项目的最后一部分,这将是一个摊位,用户在这里完成一个测验,然后可以打印一张个性化卡片

打印机是Zebra ZXP系列3

以下是我使用的代码:

import subprocess
from subprocess import Popen
with open("FILENAME.docx") as f:
# call the system's lpr command
p = Popen(["lpr"], stdin=f, shell=True)
output = p.communicate()[0]
它会使打印机崩溃并使其重新启动

我发现下面的代码非常完美,但它适用于Windows,它依赖于win32com库:

from win32com import client
    import time
    word = client.Dispatch("Word.Application")
    def printWordDocument(filename):
        word.Documents.Open(filename)
        word.ActiveDocument.PrintOut()
        time.sleep(2)
        word.ActiveDocument.Close()
    word.Quit()
在MacOs上实现这一点有什么建议吗

谢谢大家!


(这是我的第一个问题,我通常通过在这个网站上做研究来找到答案,但我有点被这个问题难住了)

见谢谢Martheen。现在就看发射。@Martheen发射似乎正在工作,但只有在我从终端呼叫它时。一旦我按下按钮调用它,它什么也不做,错误日志显示:“-p:launch:command not found”让它几乎可以工作了(感谢来自launch的Martheen和Nicholas):需要使用完整的启动路径,即/usr/local/bin/launch。并切换到subprocess.call。