为了操作打印机,选择了 pyQt5 的库。现在遇到了以下问题。
谢谢各位 V 站的大侠!已经调查了蛮久时间了,没什么成功。当一次伸手党了!
1
BingoXuan 2017-07-10 00:40:34 +08:00 via Android
用 pages 打开导出 PDF 再打印呗,automator 批量执行就好了
|
2
Kirscheis 2017-07-10 06:58:13 +08:00
用 Qt5 操作打印机也可以说是很迷了。。
关于你的问题: 1. pyQt5 一直没找到能够正常使用连接远程打印机的代码示例。有大侠能给一份吗? Qt5 是一个 GUI 库,它可以用来绘制打印预览的 UI,但很少听说过专门用 Qt 操作打印机的。我想你可能是对它的用途有一些什么误解。常用的操作打印机的库是 cups 的一些连接库,比如 pycups。 2. mac 平台上面,word 转 pdf 应该怎么实现?使用 python 可以实现吗?如果不行,是否可以通过 apple script 实现?( automator + applescript+ python ) docx 是私有格式,转换不方便,如果你有 Microsoft Word,在 Mac 上直接选打印,打印选单里选 Save as PDF。 吐槽: 1. 为什么生成 word ?既然你用了“自动生成 word ”这样的说法,那我就假设你想做的事是用某种 source 生成带格式和排版的文档。既然你的目标只是打印,那何必先生成 word,然后再转化成 pdf ??而且生成 word 也不是一件简单的事啊。。 2. 你的打印机到底在什么地方?接在本地 Mac 机上,还是网络打印机?这两种情况解决方法完全不一样 3. 你需要的操作方式到底是完全自动、headless 的定时或者监听服务,还是可以操作一定的 GUI、手动唤醒的任务? |
3
Kirscheis 2017-07-10 07:10:57 +08:00 1
当然,一定要用 Qt5 的话,Qt5 也是有能力操作打印机的,因为它确实也封装了 cups 和本地打印机的 driver 的一个类。。但是其实 Qt5 操作打印机的 Qt Print 主要的重心是一整套带 GUI 的打印机操作库,一般是用来写一个给人操作的 GUI 的(这一点从它实现了一大堆 Dialog 类就能看出来),对于一个不和人类交互的自动化程序来说用 Qt5 操作打印机属于绕了一个天大的弯子。。
对于从另一个程序直接输出的内容,是完全没有 GUI 什么事的,你需要的是把文件输出给打印机的 driver,或者输出给接管了打印机的 cups 或者随便什么服务 |
4
wildcat007 2017-07-10 08:43:07 +08:00
楼上真爱~
|
5
mikulch OP |
6
mikulch OP @Kirscheis
1. 为什么生成 word ?既然你用了“自动生成 word ”这样的说法,那我就假设你想做的事是用某种 source 生成带格式和排版的文档。既然你的目标只是打印,那何必先生成 word,然后再转化成 pdf ??而且生成 word 也不是一件简单的事啊。。 -> 公司有一个填写加班申请的的 word 模板。我希望使用 python 自动在这个 word 模板上填入以往的加班时间。(从考勤系统中抓取)然后连接远程打印机(同一个内网),打印填写好的加班单。 2. 你的打印机到底在什么地方?接在本地 Mac 机上,还是网络打印机?这两种情况解决方法完全不一样 -> 远程网络打印机 3. 你需要的操作方式到底是完全自动、headless 的定时或者监听服务,还是可以操作一定的 GUI、手动唤醒的任务? -> 是完全自动的方式。每天早上运行脚本-抓取考勤系统数据-判断昨日是否加班-填入加班时间-操作远程打印机打印 word 模板文件。 |