python控制印表機

2021-09-29 07:41:35 字數 1488 閱讀 4085

一次幫朋友做乙個小工具,從excel**中逐行獲取內容插入docx模板中,然後列印出來。前邊的功能我在其他帖子裡介紹了,就列印一塊,單拉出來說一下,以備今後使用參考。

現在就可以愉快的敲**了。首先來個簡單的

import win32api

import win32print

filename = r'f:\python_programs\模板\繳款通知單.docx'

win32api.shellexecute(0,

"print"

, filename,

## if this is none, the default printer will

# be used anyway.

# 使用預設印表機

'/d:"%s"'

% win32print.getdefaultprinter(),

".",

0)

效果是開啟這個docx文件然後直接列印,列印完文件也關閉了。就是很多帖子說的,閃一下就沒了。怎麼不讓他閃那麼一下,我還沒找到方法。估計如果電腦開啟word檔案本身比較慢的話,列印時等待時間也會比較長,好處是,呼叫的win32api,肯定能列印出東西來。。。。

說明:filename 是要列印文件的路徑和名字,如果該檔案和程式在乙個資料夾裡,可以直接寫名字。可以通過os遍歷資料夾獲取所有的文件名然後批量列印。

再來個麻煩的:

import win32print

import win32ui

import win32con

defprint2printer()

: inch =

1440

hdc = win32ui.createdc (

) hdc.createprinterdc (win32print.getdefaultprinter ())

hdc.startdoc (

"test doc"

) hdc.startpage (

) hdc.setmapmode (win32con.mm_twips)

hdc.drawtext (

"test hello world! corss firewall, we touch the world!",(

0, inch *-1

, inch *

8, inch *-2

), win32con.dt_center)

hdc.endpage (

) hdc.enddoc (

)print2printer(

)

這一坨的意識大概是臨時建立乙個test doc 應該是乙個text檔案,然後通過 draw text寫入一些內容,最後列印出來,如果draw text括號裡什麼也不寫 或者乾脆沒有這一項,則會空走紙。

具體我還沒有時間細作研究,以後有時間補充。

參考資料:

使用python控制印表機

python安裝win32api模組 pip install pypiwin32 一組擴充套件模組,提供對許多windows api函式的訪問。以前稱為win32all。win32api文件 import win32print import win32ui import win32con defpr...

python 印表機控制 python呼叫印表機

業務環境 windows python 業務流程 讀取網路位址 列印本地檔案 關鍵擴充套件 pywin32 關鍵軟體 福昕pdf 靜默列印關鍵,把福昕pdf編輯器變成pdf預設開啟程式,wps也可以,但是效果不好 原始碼 encoding utf 8 import win32api import w...

c 控制印表機雜項

因專案中需要用到控制印表機的相關資訊,此貼將網路尋找的資料做了些整理 1.c 如何設定系統的預設印表機 usingsystem.runtime.interopservices dllimport winspool.drv publicstaticexternboolsetdefaultprinter...