国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python調(diào)用Windows命令打印文件

2020-02-15 21:19:24
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

1、Python調(diào)用Windows命令打印文件

Windows命令行打印文件使用print 命令,具體用法可使用help print查看。下面是使用Python調(diào)用print指令執(zhí)行打印文件功能的代碼:

import os def printer(filename):  printername = r"/D://A340/hpLaser"  cmd = "print " + printername + " " + filename  print "print cmd:", cmd  if not os.system(cmd):    print "printing..."  else:    print "some error occurs."if __name__ == "__main__":  filename = raw_input("Please input your filename:/n")  printer(filename)

這里的打印機(jī)用的是共享打印機(jī),所以需要指定域名和打印機(jī)名稱,而且"/D:"表示的是打印設(shè)備的意思。

2、windows下如何用python控制打印機(jī)打印

參考網(wǎng)站

首先下載python需要的庫(kù)

pip install pypiwin32

簡(jiǎn)單例子

import tempfileimport win32apiimport win32printfilename = tempfile.mktemp (".txt")open (filename, "w").write ("This is a test")win32api.ShellExecute ( 0, "print", filename, # # If this is None, the default printer will # be used anyway. # '/d:"%s"' % win32print.GetDefaultPrinter (), ".", 0)
import win32printimport win32uiimport win32condef print2Printer():    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()

若在hDC.DrawText()中傳的是空字符串,則可以實(shí)現(xiàn)空走紙。

但實(shí)際上這只是打印自己制定的字符串, 并且打印出來(lái)會(huì)顯示txt的文件名。所以我更傾向于使用windows的cmd指令打印指定文件。

3、Python利用win32連接打印機(jī)自動(dòng)打印

import win32printimport win32uifrom PIL import Image, ImageWin#物理寬度、高度PHYSICALWIDTH = 110PHYSICALHEIGHT = 111#物理偏移位置PHYSICALOFFSETX = 112PHYSICALOFFSETY = 113printer_name = win32print.GetDefaultPrinter ()#選擇圖片路徑file_name = “biaoqian.png”hDC = win32ui.CreateDC ()hDC.CreatePrinterDC (printer_name)printer_size = hDC.GetDeviceCaps (PHYSICALWIDTH), hDC.GetDeviceCaps (PHYSICALHEIGHT)#printer_margins = hDC.GetDeviceCaps (PHYSICALOFFSETX), hDC.GetDeviceCaps (PHYSICALOFFSETY)#打開(kāi)圖片bmp = Image.open (file_name)print(bmp.size)ratios = [1.0 * 1754 / bmp.size[0], 1.0 * 1240 / bmp.size[1]]scale = min (ratios)print(ratios)print(scale)hDC.StartDoc (file_name)hDC.StartPage ()dib = ImageWin.Dib (bmp)scaled_width, scaled_height = [int (scale * i) for i in bmp.size]print(scaled_width,scaled_height)x1 = int ((printer_size[0] - scaled_width) / 2)y1 = int ((printer_size[1] - scaled_height) / 2)#橫向位置坐標(biāo)x1 = 1580#豎向位置坐標(biāo)y1 = 30#4倍為自適應(yīng)圖片實(shí)際尺寸打印x2 = x1 + bmp.size[0]*4y2 = y1 + bmp.size[1]*4dib.draw (hDC.GetHandleOutput (), (x1, y1, x2, y2))hDC.EndPage ()hDC.EndDoc ()hDC.DeleteDC ()            
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 正镶白旗| 通城县| 水富县| 额济纳旗| 深水埗区| 精河县| 泰顺县| 台北县| 锡林浩特市| 弋阳县| 崇信县| 龙州县| 左贡县| 临洮县| 施秉县| 浦北县| 远安县| 长垣县| 义马市| 平阴县| 彝良县| 昆山市| 福安市| 正宁县| 台安县| 中方县| 资中县| 皮山县| 济南市| 内乡县| 柘荣县| 岢岚县| 高阳县| 嵊州市| 灌南县| 博乐市| 通海县| 许昌市| 大新县| 布拖县| 尚义县|