gpt4 book ai didi

python - 从 Tkinter 或 PWM 接口(interface)打印

转载 作者:行者123 更新时间:2023-11-28 17:49:24 26 4
gpt4 key购买 nike

我已经在 Python Mega Widgets 和 Tkinter 中创建了一个接口(interface),它是一个 SQlite3 数据库的接口(interface)。查询结果以列表形式返回,并显示在位于显示屏主框架上的备注字段中。

我可以创建一个小功能,该功能将从一个按钮启动,该按钮将从默认打印机打印备注字段的内容吗?

类似于:

command = printMemo  #argument within the print button


#the print function I am looking for in pseudocode
def printMemo(memo):
print memo

最佳答案

这取决于您使用的是 windows 还是 linux 或 mac/unix。答案将根据您在哪个系统上运行此 python 脚本而相应改变。

Windows

要将打印作业发送到 Windows 上的打印机,您将使用 win32print http://timgolden.me.uk/python/win32_how_do_i/print.html

Linux/UNIX/MAC

对于 linux/unix/mac 系统,您可以使用 pkipplib 库并利用 CUPS (http://en.wikipedia.org/wiki/CUPS) 运行 CUPS 的计算机是可以从客户端计算机接受打印作业、处理它们并将它们发送到适当打印机的主机。参见 http://www.pykota.com/software/pkipplib用于基于 CUPS 的打印。

pkipplib 是可以通过 PyPi 安装的第 3 方库。如果您熟悉pip的使用,您只需运行

pip install pkipplib

pkipplib python 模块将可供您导入到您的脚本中。然后,您可以在连接到您的 linux/unix/mac CUPS 打印机后执行打印,类似于上面链接中的示例。像这样:-

# CUPS' API
from pkipplib import pkipplib

# Create a CUPS client instance
# cups = pkipplib.CUPS(url="http://server:631, \
# username="john", \
# password="5.%!oyu")
cups = pkipplib.CUPS()

# High level API : retrieve info about job 3 :
answer = cups.getJobAttributes(3)
print answer.job["document-format"]
# That's all folks !

# Lower level API :
request = cups.newRequest(pkipplib.IPP_GET_PRINTER_ATTRIBUTES)
request.operation["printer-uri"] = ("uri",
cups.identifierToURI("printers", "HP2100"))
for attribute in ("printer-uri-supported",
"printer-type",
"member-uris") :
# IMPORTANT : here, despite the unusual syntax, we append to
# the list of requested attributes :
request.operation["requested-attributes"] = ("nameWithoutLanguage", attribute)

# Sends this request to the CUPS server
answer = cups.doRequest(request)

# Print the answer as a string of text
print answer

关于python - 从 Tkinter 或 PWM 接口(interface)打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13046917/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com