python调用打印机实现打印文档

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python调用打印机实现打印文档相关的知识,希望对你有一定的参考价值。

参考技术A python 调用打印机需要使用到 pywin32 库,使用 win32api.ShellExecute 可以调用默认打开指定文档的程序进行打印
调用默认打印机进行打印

将第二个参数改成 printto 可以调用指定打印机进行打印,第四个参数是指定打印机名

获取打印机列表 list(map(lambda x:x[2], win32print.EnumPrinters(2)))
更多win32api参照: http://timgolden.me.uk/pywin32-docs/win32_modules.html

如何使用 Python 或其他语言以编程方式格式化打印机文档? [关闭]

【中文标题】如何使用 Python 或其他语言以编程方式格式化打印机文档? [关闭]【英文标题】:How can I programmatically format printer documents with Python or other language? [closed] 【发布时间】:2017-03-26 22:19:17 【问题描述】:

我正在尝试复制一些旧的标签制作软件,该软件允许选择标签尺寸等。标签的尺寸通过它们的标准尺寸(例如 2.5 英寸 x 1 英寸)已知。我了解如何检测操作系统并发送基本打印作业。打印作业似乎只是发送到打印机的字符串。例如,如果我试图在打印作业的下一部分之前移动两英寸,我是否会增加字符串中的空白(打印时一定量的空白是否总是对应​​于物理测量)?是否有某种方法可以定义页面的某些部分,或者是否有其他方法可以在已知页面大小的 XY 坐标之间跳转?

【问题讨论】:

【参考方案1】:

我用 Python 编写了打印 HTML 页面的软件。 HTML 的优点是可以打印任何你喜欢的东西,格式化很容易,可以使用任何网络浏览器进行调试。

接下来,您可以使用PrinceXML 之类的软件,该软件允许您将 HTML 页面转换为可打印页面。通过样式表,您可以定义页面的大小。

如果您需要更多帮助,请随时概念 mee。

【讨论】:

所以我可以将数据发送到 html/css 文件,然后我可以在其中指定物理尺寸等内容? 是的,你可以.. PrinceXML 理解@page 规则 [link] (tutorialspoint.com/css/css_paged_media.htm)。 所以我会查看@page 规则,以便在没有专有软件的情况下执行此操作?谢谢 这确实是一种方式,没有PrinceXML的@page我没有体验过。毕竟,您将需要一些了解页面大小的引擎。这是大多数 ebbrowser 不理解的东西。见[链接]***.com/questions/20946723/…

以上是关于python调用打印机实现打印文档的主要内容,如果未能解决你的问题,请参考以下文章

Java如何调用系统打印机打印文件

如何用JAVA调用TLP条码打印机打印条码

Java jacob调用打印机打印word文档

多台打印机同时打印输出同一份打印文档

python之追溯函数调用及日志详细打印

python批量执行sql语句并打印结果到一个文件中